CRUD:CRUD是指在做计算处理时的增加(Create)、检索(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。
CRUD主要被用在描述软件系统中数据库或者持久层的基本操作功能。
在UserDao.xml中添加:
在UserDao中添加:
public interface UserDao {
User findById(Integer userId);
}
在测试类中添加:
@Test
public void testFindOne() {
User user = userDao.findById(41);
System.out.println(user);
}
输出结果:
在UserDao.xml中添加:
select last_insert_id();
insert into user(username,birthday,sex,address) values(#{username},#{birthday},#{sex},#{address})
在UserDao中添加:
public interface UserDao {
int saveUser(User user);
}
在测试类中添加:
@Test
public void testSaveUser() {
User user = new User();
user.setUsername("new User");
user.setAddress("杭州");
user.setSex("男");
user.setBirthday(new Date());
System.out.println("保存操作之前:" + user);
userDao.saveUser(user);
System.out.println("保存操作之后:" + user);
}
输出结果:
在UserDao.xml中添加:
update user set username=#{username},birthday=#{birthday},sex=#{sex},address=#{address}where id=#{id}
在UserDao中添加:
public interface UserDao {
int updateUser(User user);
}
在测试类中添加:
@Test
public void testUpdateUser() throws Exception {
User user = userDao.findById(41);
user.setAddress("杭州");
int res = userDao.updateUser(user);
System.out.println(user);
}
输出结果:
在UserDao.xml中添加:
delete from user where id = #{uid}
在UserDao中添加:
public interface UserDao {
int deleteUser(Integer userId);
}
在测试类中添加:
@Test
public void testDeleteUser() throws Exception {
int res = userDao.deleteUser(41);
System.out.println(res);
}
三种模糊查询的方式
SQL语句传参,使⽤标签的parameterType 属性来设定。
该属性的取值可以是基本类型,引⽤类型(例如: String 类型),还可以是实体类类型(POJO 类)。同时也可以使⽤实体类的包装类。
resultType 属性可以指定结果集的类型,它⽀持基本类型和实体类类型。
resultMap 标签可以建立查询的列名和实体类的属性名称不⼀致时建立对应关系。从而实现封装。
在 select 标签中使⽤ resultMap 属性指定引⽤即可。同时 resultMap 可以实现将查询结果映射为复杂类型的 pojo,⽐如在查询结果映射对象中包括 pojo 和 list 实现⼀对⼀查询和⼀对多查询。
type 属性: 指定实体类的全限定类名
id 属性: 给定⼀个唯⼀标识,是给查询 select 标签引⽤⽤的。
id 标签:⽤于指定主键字段
result 标签:⽤于指定⾮主键字段
column 属性:⽤于指定数据库列名
property 属性:⽤于指定实体类属性名称