博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mybatis学习笔记之---编写dao实现类的CRUD
阅读量:4692 次
发布时间:2019-06-09

本文共 7321 字,大约阅读时间需要 24 分钟。

Mybatis编写dao实现类的CRUD

 

1.pom.xml
junit
junit
4.11
mysql
mysql-connector-java
5.1.41
org.mybatis
mybatis
3.4.6

 

2.SqlMapperConfig.xml

 

3.Users.java
package entity;public class Users {    private int id;    private String username;    private String password;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    @Override    public String toString() {        return "Users{" +                "id=" + id +                ", username='" + username + '\'' +                ", password='" + password + '\'' +                '}';    }}

 

4.UserDao.java
package dao;        import entity.Users;        import java.util.List;public interface UserDao {     List
findAll(); Users find(int id); void save(Users users); void update(Users users); void delete(int id); List
findVague(String name); int count();}

 

5.UserDao.xml
select last_insert_id()
insert into users(username,password) values(#{username},#{password})
update users set username=#{username},password=#{password} where id=#{id}
delete from users where id=#{id}

 

6.UserDaoImpl.java
package dao.impl;import dao.UserDao;import entity.Users;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import java.util.List;public class UserDaoImpl implements UserDao {    private SqlSessionFactory factory;    public UserDaoImpl(SqlSessionFactory factory){        this.factory=factory;    }    @Override    public List
findAll() { //1.根据factory获取SqlSession对象 SqlSession session=factory.openSession(); //2.调用SqlSession中的方法,实现查询列表 List
list=session.selectList("dao.UserDao.findAll"); //3.释放资源 session.close(); return list; } @Override public Users find(int id) { //1.根据factory获取SqlSession对象 SqlSession session=factory.openSession(); //2.调用SqlSession中的方法,实现查询列表 Users u=session.selectOne("dao.UserDao.find",id); //3.释放资源 session.close(); return u; } @Override public void save(Users users) { //1.根据factory获取SqlSession对象 SqlSession session=factory.openSession(); //2.调用SqlSession中的方法,实现查询列表 session.insert("dao.UserDao.save",users); session.commit(); //3.释放资源 session.close(); } @Override public void update(Users users) { //1.根据factory获取SqlSession对象 SqlSession session=factory.openSession(); //2.调用SqlSession中的方法,实现查询列表 session.update("dao.UserDao.update",users); session.commit(); //3.释放资源 session.close(); } @Override public void delete(int id) { //1.根据factory获取SqlSession对象 SqlSession session=factory.openSession(); //2.调用SqlSession中的方法,实现查询列表 session.delete("dao.UserDao.delete",id); session.commit(); //3.释放资源 session.close(); } @Override public List
findVague(String name) { //1.根据factory获取SqlSession对象 SqlSession session=factory.openSession(); //2.调用SqlSession中的方法,实现查询列表 List
u=session.selectList("dao.UserDao.findVague",name); session.commit(); //3.释放资源 session.close(); return u; } @Override public int count() { //1.根据factory获取SqlSession对象 SqlSession session=factory.openSession(); //2.调用SqlSession中的方法,实现查询列表 int id=session.selectOne("dao.UserDao.count"); session.commit(); //3.释放资源 session.close(); return id; }}

 

7.UserTest.java
package test;import dao.UserDao;import dao.impl.UserDaoImpl;import entity.Users;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.junit.After;import org.junit.Before;import org.junit.Test;import java.io.IOException;import java.io.InputStream;import java.util.List;public class UserTest {    private InputStream in;    private UserDao userDao;    @Before    public void init() throws IOException {        //1.读取配置文件        in= Resources.getResourceAsStream("SqlMapperConfig.xml");        //2.创建SqlSessionFactory工厂        SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();        SqlSessionFactory factory=builder.build(in);        //3.使用工厂对象,创建dao对象        userDao=new UserDaoImpl(factory);    }    @After    public void destroy() throws IOException {        //6.释放资源        in.close();    }    /**     * 查询所有     * @throws IOException     */    @Test    public void findall() throws IOException {        //5.使用代理对象执行方法        List
users=userDao.findAll(); for(Users u:users){ System.out.println(u); } } /** * 增加 */ @Test public void save(){ Users users=new Users(); users.setUsername("111"); users.setPassword("456"); userDao.save(users); } /** * 根据ID查询并修改 */ @Test public void update(){ Users u=userDao.find(15); u.setPassword("126"); u.setUsername("小喵"); userDao.update(u); } /** * 根据id进行删除 */ @Test public void delete(){ userDao.delete(24); } /** * 模糊查询,查询所有名字中有小的用户 * @throws IOException */ @Test public void findVague() throws IOException { //5.使用代理对象执行方法 List
users=userDao.findVague("%小%"); for(Users u:users){ System.out.println(u); } } /** * 查询用户总数 */ @Test public void count(){ int c=userDao.count(); System.out.println(c); }}

 

转载于:https://www.cnblogs.com/dyddzhp/p/11340561.html

你可能感兴趣的文章
mysql函数大全
查看>>
Rectangle
查看>>
刷题向》关于搜索+tarjan的奇怪组合题 BZOJ1194 (normal+)
查看>>
AC自动机模板
查看>>
排序二叉树的基本操作
查看>>
Wechat login authorization(OAuth2.0)
查看>>
安装virtualbox须知
查看>>
mui集成百度ECharts的统计图表以及清空释放图表
查看>>
Duplicate entry '' for key 'PRIMARY'
查看>>
传奇脚本中 SendMsg 编号说明
查看>>
Javascript 严格模式详解
查看>>
普林斯顿算法课Part2第四周作业_Boggle
查看>>
AspNetPager分页控件的使用以及常见错误
查看>>
(博弈) bzoj 2460
查看>>
常用类的课后作业
查看>>
JAVA的动态代理
查看>>
立体图
查看>>
【收藏】纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等)...
查看>>
动态为表添加字段
查看>>
Linux下修改Mysql密码的三种方式
查看>>