zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    周总结07(2018.1.8-2018.1.13)
    软件工程概论课总结
    第二阶段团队冲刺-seven
    人月神话阅读笔记06
    第二阶段团队冲刺-six
    周总结06(2018.1.1-2018.1.6)
    第二阶段团队冲刺-five
    开发记录06
    开发记录05
    开发记录04
  • 原文地址:https://www.cnblogs.com/1And0/p/5884500.html
Copyright © 2011-2022 走看看