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);
	}
}
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐