mybatisd中@SelectKey标签的使用
//保存用户方法
@SelectKey(statement = "select LAST_INSERT_ID()",before = true,keyColumn = "",keyProperty = "", resultType = int.class)
@Insert("insert into user(username,birthday,sex,address) values(#{username},#{birthday},#{sex},#{address})")
void saveUser(User user);
//statement = "select LAST_INSERT_ID()":表示定义的子查询语句,获取上一个插入的id
//* before=true:表示在之前执行,booler类型的,所以为true
// * keyColumn="":表示查询所返回的类名,没有返回值所以为空
// * resultType=int.class:表示返回值得类型
// * keyProperty="" :表示将该查询的属性设置到某个列中
//保存方法
@Test
public void saveUser() throws ParseException {
User user1 = new User();
user1.setUsername("泛型");
user1.setAddress("泛型");
user1.setSex("男");
user1.setBirthday(new Date());
//执行保存方法
userDao.saveUser(user1);
}
传递pojo封装对象
public class QueryVo {
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
@Override
public String toString() {
return "QueryVo{" +
"user=" + user +
'}';
}
}
public class User implements Serializable {
private Integer id;
private String username;
private Date birthday;
private String sex;
private String address;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", birthday=" + birthday +
", sex='" + sex + '\'' +
", address='" + address + '\'' +
'}';
}
}
/**
*@描述 根据queryVo中的条件模糊查询用户
*@参数
*@返回值
*@创建人 lwz
*@创建时间 2019/9/20
*@修改人和其它信息
***注意#{}里面的参数不同***
*/
@Select("select * from user where username like #{user.username}")
List<User> findByQueryVo(QueryVo vo);
/**
*@描述
*@参数 []
*@返回值 void
*@创建人 lwz
*@创建时间 2019/9/20
*@修改人和其它信息
*/
@Test
public void findByQueryVo(){
QueryVo queryVo = new QueryVo();
User user1 = new User();
user1.setUsername("%集%");
queryVo.setUser(user1);
List<User> list = userDao.findByQueryVo(queryVo);
for (User user : list) {
System.out.println("============");
System.out.println(user);
System.out.println("============");
}
}