一、目录结构

二、代码

1、UserDao

 1 package cn.bijian.dao;
 2 
 3 import cn.bijian.model.User;
 4 import org.apache.ibatis.annotations.Select;
 5 
 6 import java.util.List;
 7 
 8 public interface UserDao {
 9     /*
10     查询所有User
11      */
12 //    @Select("select * from user")
13     List<User> findAll();
14     /*
15     根据id查User
16      */
17     User findById(Integer id);
18     /*
19     保存用户
20      */
21     int saveUser(User user);
22     /*
23     更新用户
24      */
25     int updateUser(User user);
26     /*
27     删除用户
28      */
29     int deleteUser(Integer id);
30     /*
31     模糊查询用户
32      */
33     List<User> findByName(String username);
34     /*
35     查询总记录条数
36      */
37     int findTotal();
38 }

2、UserDao.xml

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE mapper
 3         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 4         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 5 
 6 <mapper namespace="cn.bijian.dao.UserDao">
 7     <select id="findAll" resultType="cn.bijian.model.User">
 8         select * from User;
 9     </select>
10 
11     <select id="findById" parameterType="int" resultType="cn.bijian.model.User">
12         select * from User where id = #{id}
13     </select>
14 
15     <insert id="saveUser" parameterType="cn.bijian.model.User">
16         insert into user(username,birthday,sex,address) values (#{username},#{birthday},#{sex},#{address})
17         <selectKey keyColumn="id" keyProperty="id" resultType="int">select last_insert_id();</selectKey>
18     </insert>
19 
20     <update id="updateUser" parameterType="cn.bijian.model.User">
21         update user set username=#{username},birthday=#{birthday},sex=#{sex},address=#{address} where id=#{id}
22     </update>
23 
24     <delete id="deleteUser" parameterType="int">
25         delete from user where id=#{id}
26     </delete>
27 
28     <select id="findByName" parameterType="string" resultType="cn.bijian.model.User">
29         select * from user where username like #{username}
30         <!--select * from user where username like '%${value}%'-->
31     </select>
32 
33     <select id="findTotal" resultType="int">
34         select count(*) from user;
35     </select>
36 </mapper>

3、MybatisCURDTest

 1 package cn.bijian.test;
 2 
 3 import cn.bijian.dao.UserDao;
 4 import cn.bijian.model.User;
 5 import org.apache.ibatis.io.Resources;
 6 import org.apache.ibatis.session.SqlSession;
 7 import org.apache.ibatis.session.SqlSessionFactory;
 8 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
 9 import org.junit.After;
10 import org.junit.Before;
11 import org.junit.Test;
12 
13 import java.io.IOException;
14 import java.io.InputStream;
15 import java.util.Date;
16 import java.util.List;
17 
18 public class MybatisCURDTest {
19     private InputStream in;
20     private SqlSessionFactory sessionFactory;
21     private SqlSession session;
22     private UserDao userDao;
23 
24     @Test
25     public void testFindById(){
26         User user = userDao.findById(43);
27         System.out.println(user);
28     }
29 
30     @Test
31     public void testSaveUser(){
32         User user = new User();
33         user.setUsername("李四");
34         user.setBirthday(new Date());
35         user.setSex("男");
36         user.setAddress("兰州");
37         userDao.saveUser(user);
38         Integer id = user.getId();
39         System.out.println(id);
40     }
41 
42     @Test
43     public void testUpdateUser(){
44         User user = userDao.findById(64);
45         user.setAddress("兰州123");
46         int res = userDao.updateUser(user);
47         System.out.println(res);
48     }
49 
50     @Test
51     public void testDeleteUser(){
52         int res = userDao.deleteUser(64);
53         System.out.println(res);
54     }
55 
56     @Test
57     public void testFindByName(){
58         List<User> users = userDao.findByName("%王%");
59 //        List<User> users = userDao.findByName("王");
60         for (User user:users) {
61             System.out.println(user);
62         }
63     }
64 
65     @Test
66     public void testFindTotal(){
67         int total = userDao.findTotal();
68         System.out.println(total);
69     }
70 
71     @Before
72     public void init() throws IOException {
73         in = Resources.getResourceAsStream("SqlMapConfig.xml");
74         SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
75         sessionFactory = builder.build(in);
76         session = sessionFactory.openSession();
77         userDao = session.getMapper(UserDao.class);
78     }
79 
80     @After
81     public void destroy() throws IOException {
82         session.commit();
83         session.close();
84         in.close();
85     }
86 }

 

posted on 2021-10-28 11:18  晨曦生辉耀匕尖  阅读(31)  评论(0编辑  收藏  举报