Mybatis之在Mapper层使用泛型
1.创建BaseDaoMapper泛型接口,定义基本CRUD操作抽象方法public interface BaseDaoMapper {int insert(T obj);//插入数据int delete(int id);//删除数据int updata(T obj);//更新数据T get(int id);//查找数据T getByName(String name);//查找数据List lis
·
1.创建BaseDaoMapper泛型接口,定义基本CRUD操作抽象方法
public interface BaseDaoMapper <T>{
int insert(T obj);//插入数据
int delete(int id);//删除数据
int updata(T obj);//更新数据
T get(int id);//查找数据
T getByName(String name);//查找数据
List<T> list();//列表数据
}
2.定义映射器UserDaoMapper接口
```handlebars
public interface UserDaoMapper extends BaseDaoMapper<User>{
public int totalUser();
}
通过继承,获得基本CRUD抽象方法如下:
// User get(int id);//查找数据
// User getByName(String name);//查找数据
// int insert(User obj);//插入数据
// int delete(int id);//删除数据
// int updata(User obj);//更新数据
// List<User> list();//列表数据
**3.定义映射器配置文件,**配置对应UserDaoMapper接口所有方法的sql语句
```handlebars
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="z7.com.dao.UserDao">
<!-- User get(int id);//查找数据-->
<select id="get" parameterType="_int" resultType="user">
select id,name,pwd,rights,max_lend as maxLend,create_time as createTime from z7_user where id=#{id}
</select>
<!-- User getByName(String name);//查找数据 -->
<select id="getByName" parameterType="string" resultType="user">
select id,name,pwd,rights,max_lend as maxLend,create_time as createTime from z7_user where name=#{name}
</select>
<insert id="insert" parameterType="user">
insert into z7_user(name,pwd,rights,max_lend,create_time) values(#{name},#{pwd},#{rights},#{maxLend},now())
</insert>
<select id="list" resultType="user">
select id,name,pwd,rights,max_lend as maxLend,create_time as createTime from z7_user
</select>
<!-- int totalUser(); -->
<select id="totalUser" resultType="_int">
select count(id) from z7_user
</select>
<update id="updata" parameterType="user">
update z7_user set name=#{name},pwd=#{pwd},rights=#{rights},max_lend=#{maxLend} where id=#{id}
</update>
<delete id="delete" parameterType="_int">
delete from z7_user where id=#{id}
</delete>
</mapper>
4.测试UserDaoMapper接口
@RunWith(SpringJUnit4ClassRunner.class) //引入了spring单元测试
@ContextConfiguration(locations="classpath:applicationContext.xml") //加载spring配置文件
public class TestUserDao {
@Resource
private UserDao udMapper;
@Test
public void testList() {
List<User> list=udMapper.list();
list.forEach(System.out::println);
}
@Test
public void testTotal() {
int num=udMapper.totalUser();
System.out.println(num);
}
@Test
public void testGet() {
User user=udMapper.get(1);
System.out.println(user);
}
@Test
public void testGet2() {
User user=udMapper.getByName("admin");
System.out.println(user);
}
@Test
public void testadd() {
User user=new User();
user.setName("userDao123");
user.setPwd("321");
int num=udMapper.insert(user);
System.out.println(num);
}
@Test
public void testupdate() {
User user=udMapper.getByName("userDao123");
user.setName("ddddd");
user.setPwd("ddd");
int num=udMapper.updata(user);
System.out.println(num);
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)