MyBatis初学者配置

小配置

 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 <mapper namespace="cn.entity.Dept">
 6 <!-- id:唯一标识:通过此id,程序可唯一锁定一条SQL 
 7      parameterType:参数类型
 8      resultType:结果类型
 9 -->
10     <sql id="columns">
11     deptid,deptname
12     </sql>
13     <!-- 查询部分列*号用别名 -->
14     <select id="selectSql" resultType="cn.entity.Dept">
15         select <include refid="columns"></include> from Dept
16     </select>
17     
18     <resultMap id="Dept" type="cn.entity.Dept">
19     <result property="deptid" column="deptid"></result>
20     </resultMap>
21     <!-- 查询所有部门信息 -->
22     <select id="selectDept" resultMap="Dept">
23         select * from Dept
24     </select>
25     <!-- 带条件查询 -->
26     <select id="selectDeptById" parameterType="cn.entity.Dept" resultType="cn.entity.Dept">
27        select * from Dept where deptid=#{deptid}
28     </select>
29     <!-- 添加部门信息 -->
30     <insert id="insertDept" parameterType="cn.entity.Dept">
31         insert into Dept(deptname) values(#{deptname})
32     </insert> 
33     
34     
35     <!-- 删除部门信息 -->
36     <delete id="deleteDept" parameterType="cn.entity.Dept">
37          delete from Dept where deptid=#{deptid}
38     </delete>
39     <!-- 修改部门信息 -->
40     <update id="updateDept" parameterType="cn.entity.Dept">
41          update Dept set deptname=#{deptname} where deptid=#{deptid}
42     </update>
43     <!-- 模糊查询 -->
44     <select id="likeDept" resultType="cn.entity.Dept" parameterType="cn.entity.Dept">
45         select * from Dept where deptname like '%${deptname}%'
46     </select>
47     <!-- 智能标签where 动态查询 -->
48      <select id="selectDeptDynamic" parameterType="cn.entity.Dept" resultType="cn.entity.Dept">
49         select * from Dept 
50         <where>
51           <if test="deptid!=null">
52             and deptid=#{deptid}
53           </if>
54           <if test="deptname!=null">
55             and deptname=#{deptname}
56           </if>
57         </where>
58         </select>
59         <!-- 智能标签set更新 -->
60         <update id="updatesetDept" parameterType="cn.entity.Dept"  >
61         update Dept
62         <set>
63         <if test="deptid!=null">deptid=#{deptid},</if>
64         <if test="deptname!=null">deptname=#{deptname},</if>
65         </set>
66         where deptid=#{deptid}
67         </update>
68    
69 </mapper>

大配置

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE configuration
 3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 4 "http://mybatis.org/dtd/mybatis-3-config.dtd">
 5 <configuration>
 6     <environments default="development">
 7         <environment id="development">
 8         <!-- 事务策略是JDBC -->
 9             <transactionManager type="JDBC" />
10             <!-- 数据源的方式 -->
11             <dataSource type="POOLED">
12                 <property name="driver" value="com.mysql.jdbc.Driver" />
13                 <property name="url" value="jdbc:mysql://120.25.78.77:3306/zc" />
14                 <property name="username" value="zc" />
15                 <property name="password" value="zc" />
16             </dataSource>
17         </environment>
18     </environments>
19     <!--映射文件:描述某个实体和数据库表的对应关系 -->
20     <mappers>
21         <mapper resource="cn/entity/Dept.xml" />
22     </mappers>
23 </configuration>

测试类

  1 package cn.test;
  2 
  3 import java.io.FileNotFoundException;
  4 import java.io.FileReader;
  5 import java.io.IOException;
  6 import java.io.Reader;
  7 import java.util.List;
  8 
  9 import org.apache.ibatis.session.SqlSession;
 10 import org.apache.ibatis.session.SqlSessionFactory;
 11 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
 12 import org.junit.Before;
 13 import org.junit.Test;
 14 
 15 import cn.entity.Dept;
 16 
 17 public class MybatisTest {
 18 
 19     SqlSession session;
 20     @Before
 21     public void initData() throws FileNotFoundException{
 22               //1.1 SqlSessionFactoryBuilder
 23                 SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
 24                 
 25                 //1.2 SqlSesssionFactory
 26                 Reader reader=new FileReader("src/mybatis-config.xml");
 27                 SqlSessionFactory factory = builder.build(reader);
 28                 
 29                 //1.3  SqlSession
 30                 session= factory.openSession();
 31     }
 32     /**
 33      * 查询所有部门所有信息
 34      * @throws IOException
 35      */
 36     @Test
 37     public void selectDeptTest() throws IOException
 38     {
 39         List<Dept> list = session.selectList("selectDept");
 40         for (Dept dept : list) {
 41             System.out.println(dept.getDeptname());
 42         }
 43         session.close();
 44     }
 45     /**
 46      * 增加
 47      */
 48     @Test
 49     public void insertDeptTest()
 50     {
 51         Dept dt=new Dept();
 52         dt.setDeptname("大牛部");
 53         int count =session.insert("insertDept",dt);
 54         System.out.println(count);
 55         session.close();
 56         
 57     }
 58     /**
 59      * 带条件查询
 60      */
 61     @Test
 62     public void selectDeptByIdTest()
 63     {
 64         Dept dt= new Dept();
 65         dt.setDeptid(1);
 66         Dept dept=session.selectOne("selectDeptById",dt);
 67         System.out.println(dept.getDeptname());
 68         session.close();
 69         
 70     }
 71     /**
 72      * 删除
 73      */
 74     @Test
 75     public void deleteDeptTest()
 76     {
 77         Dept dt=new Dept();
 78         dt.setDeptid(3);
 79         int count = session.delete("deleteDept",dt);
 80         session.commit();
 81         System.out.println(count);
 82         session.close();
 83     }
 84     /**
 85      * 修改
 86      */
 87     @Test
 88     public void updateDeptTest()
 89     {
 90         Dept dt=new Dept();
 91         dt.setDeptid(1);
 92         dt.setDeptname("公关部");
 93         int count = session.update("updateDept",dt);
 94         session.commit();
 95         System.out.println(count);
 96         session.close();
 97     }
 98     /**
 99      * 模糊查询
100      * 
101      */
102     @Test
103     public void likeDeptTest()
104     {    
105         Dept dt=new Dept();
106         dt.setDeptname("公");
107         List<Dept> list = session.selectList("likeDept",dt);
108         for (Dept dept : list) {
109             System.out.println(dept.getDeptname());
110         }
111         session.close();
112         
113     }
114     /**
115      * 别名查询
116      */
117     @Test
118     public void selectSqlTest()
119     
120     {
121         List<Dept> list = session.selectList("selectSql");
122         for (Dept dept : list) {
123             System.out.println(dept.getDeptname());
124         }
125         session.close();
126         
127     }
128     /**
129      *    智能标签where进行动态查询
130      */
131 
132     @Test
133     public  void dynamicWhereTest() throws Exception{
134         Dept dept=new Dept();
135         //代表前台用户同时使用     部门编号     和   部门名称   发起了  检索 
136         dept.setDeptname("公关部");
137         dept.setDeptid(1);
138         
139         
140         List<Dept> list=session.selectList("selectDeptDynamic",dept);
141         for (Dept dt : list) {
142             System.out.println(dt.getDeptname());
143         }
144         session.close();
145     } 
146     /**
147      * 智能标签set更新
148      * 
149      */
150     @Test
151     public void updatesetDeptTest()
152     {
153         Dept dt=new Dept();
154         dt.setDeptid(1);
155         dt.setDeptname("公布部");
156         int count = session.update("updatesetDept",dt);
157         session.commit();
158         System.out.println(count);
159         session.close();
160     }
161     
162     
163 
164 }
原文地址:https://www.cnblogs.com/1And0/p/5884500.html