package com.bjpowernode.mapper;
import com.bjpowernode.pojo.User;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface UserMapper {
List selectUserPage(
@Param("userName")
String userName,
@Param("userSex")
String userSex,
@Param("startRow")//算好的起始行
int startRow);
//增加
int insert(User user);
//根据用户id删除
int delete(String userId);
//获取表中所有数据来显示页数,有添加查询,或无条件
int getRowCount(@Param("userName") String userName,@Param("userSex") String userSex);
//修改用户
int updateUserById(User user);
}
13.在mapper目录下新建UserMapper.xml实现增删改查所有功能
user_id,card_type,card_no,user_name,user_sex,user_age,user_role
insert into user value (#{userId},#{cardType},#{cardNo},#{userName},#{userSex},#{userAge},#{userRole})
delete from user where user_id = #{userId}
update user set card_type=#{cardType},card_no=#{cardNo},user_name=#{userName},
user_sex=#{userSex},user_age=#{userAge},user_role=#{userRole} where user_id=#{userId}
14.新建service接口和实现类
在service目录下创建UserService接口
package com.bjpowernode.service;
import com.bjpowernode.pojo.User;
import java.util.List;
/**
* 业务逻辑层
*/
public interface UserService {
// 查询
List selectUserPage(String userName,String userSex,int startRow);
// 添加
int createUser(User user);
// 删除
int deleteUserById(String userId);
// 计算表数据总行数
int getRowCount(String userName,String userSex);
//修改用户
int updateUserById(User user);
}
在service-->impl目录下新建UserService的实现类
package com.bjpowernode.service.impl;
import com.bjpowernode.mapper.UserMapper;
import com.bjpowernode.pojo.User;
import com.bjpowernode.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 业务逻辑层
*/
@Service
public class UserServiceImpl implements UserService {
// 切记切记: 一定要有数据访问层的对象
@Autowired
UserMapper userMapper;
@Override
public List selectUserPage(String userName, String userSex, int startRow) {
return userMapper.selectUserPage(userName,userSex,startRow);
}
@Override
public int createUser(User user) {
return userMapper.insert(user);
}
@Override
public int deleteUserById(String userId) {
return userMapper.delete(userId);
}
@Override
public int getRowCount(String userName, String userSex) {
return userMapper.getRowCount(userName,userSex);
}
@Override
public int updateUserById(User user) {
return userMapper.updateUserById(user);
}
}
15.新建测试类,完成所有功能的测试
在Test-->java目录下新建MyTest测试类
package test;
import com.bjpowernode.pojo.User;
import com.bjpowernode.service.UserService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.List;
@RunWith(SpringJUnit4ClassRunner.class)//相当于启动spring的容器
@ContextConfiguration(locations = {"classpath:applicationContext_mapper.xml","classpath:applicationContext_service.xml"})
public class MyTest {
@Autowired
UserService userService;
@Test
public void testselectUserPage(){
List userList = userService.selectUserPage(null,"男",0);
userList.forEach(user -> System.out.println(user));
}
@Test
public void testdeleteUser(){
int num = userService.deleteUserById("11111");
System.out.println("=========>"+num);
}
@Test
public void testinterUser(){
User u = new User("111116","酒神证","666666","东北酒王","男","45","职业酒蒙子");
int num = userService.createUser(u);
System.out.println("=========>"+num);
}
@Test
public void testgetRowCount(){
int num = userService.getRowCount("张良","男");
System.out.println("=========>"+num);
}
@Test
public void updateuserTest(){
User u = new User("1651743627430","哈哈","hh","jj","kk","ll","hh");
int num = userService.updateUserById(u);
System.out.println(num);
}
}
16.新建控制器,完成所有功能
在controller目录下新建UserController控制器类
package com.bjpowernode.controller;
import com.bjpowernode.pojo.User;
import com.bjpowernode.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@CrossOrigin //在服务器端支持跨域请求
@RestController //如果类中方法全是ajax请求就用此注解,方法上的@ResponsBody可以不写
@RequestMapping("/user")
public class UserContorller {
@Autowired
UserService userService;
public static final int PAGE_SIZE = 5;
@RequestMapping("/selectUserPage")
public List selectUserPage(String userName, String userSex, Integer page){
//根据页码计算起始行
int startRow = 0;
if(page != null){
startRow = (page - 1) * PAGE_SIZE;
}
return userService.selectUserPage(userName,userSex,startRow);
}
//计算表中数据行数
@RequestMapping("/getRowCount")
public int getRowCount(String userName,String userSex){
return userService.getRowCount(userName,userSex);
}
//根据用户id删除用户
@RequestMapping("/deleteUserById")
public int deleteUserById(String userId){
return userService.deleteUserById(userId);
}
//添加用户
@RequestMapping("/createUser")
public int createUser(User user){
//提供一个用户id值
String userId = System.currentTimeMillis()+"";
user.setUserId(userId);
return userService.createUser(user);
}
//修改用户
@RequestMapping("/updateUserById")
public int updateUserById(User user){
return userService.updateUserById(user);
}
}
如果希望workflow存储最近20次的log,在session里的Config Object设置,log options做配置,save session log :sessions run ;savesessio log for these runs:20
session下面的source 里面有个tracing 
今天遇到一个客户BUG,当前的jdbc连接用户是root,然后部分删除操作都会报下面这个错误:The user specified as a definer ('aaa'@'localhost') does not exist
最后找原因发现删除操作做了触发器,而触发器里面有这样一句
/*!50017 DEFINER = ''aaa@'localhost' */
原来最初
O7_DICTIONARY_ACCESSIBILITY参数控制对数据字典的访问.设置为true,如果用户被授予了如select any table等any table权限,用户即使不是dba或sysdba用户也可以访问数据字典.在9i及以上版本默认为false,8i及以前版本默认为true.如果设置为true就可能会带来安全上的一些问题.这也就为什么O7_DICTIONARY_ACCESSIBIL
#h1#
0、完成课堂例子
1、将一个四位数逆序打印
1234 ==> 4321
实现方法一:
# include <stdio.h>
int main(void)
{
int i = 1234;
int one = i%10;
int two = i / 10 % 10;
int three = i / 100 % 10;
===================================================================
第一个
===================================================================
try{
CString sql;
sql.Format("select * from p