Java--MyBatis基本配置及实现简单的部门查询(SQLServer)

1.初始准备(引入jar包)

   把所需要的 jar 包放到 lib 文件夹中 (mybatis-3.2.3.jar、sqljdbc1.jar、sqljdbc41.jar、mysql-connector-java-5.1.29-bin.jar)

   然后 在对应的 jar包上 右键 Build Path->Add to Build Path 加载进去

 

2.数据库配置(用的SQLSever 其他的类似)

   

  3.配置MyBatisConfig.xml 文件

 

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
 3 
 4 <configuration>
 5     <!-- 引用数据库连接配置 -->
 6     <properties resource="database.properties"></properties>
 7     
 8     <!-- 定义别名 -->
 9     <typeAliases>
10         <!-- <typeAlias type="com.monv.mybatis.entity.BuMen" alias = "BuMen" /> -->
11         <!-- 因为一个包里边有多个类 所以可以直接定义包名 -->
12         <package name = "com.monv.mybatis.entity" />
13     </typeAliases>
14     
15     <!-- 定义数据源 -->
16     <environments default="development">
17         <environment id="development">
18             <!-- 事物管理 -->
19             <transactionManager type="JDBC"/>
20              <dataSource type ="POOLED">
21                      <property name = "driver" value = "${driver}"/>
22                      <property name = "url" value = "${url}"/>
23                      <property name = "username" value = "${user}"/>
24                      <property name = "password" value = "${password}"/>
25             </dataSource>                        
26         </environment>
27     </environments>
28     
29     <!-- 定义映射文件 Mapper -->
30     <mappers>
31         <!-- 映射单独的文件 -->
32         <!-- <mapper resource = "com.monv.mybatis.mapper/BuMenMapper.xml"/> -->
33         
34         <!-- 映射包名 -->
35         <package name="com.monv.mybatis.mapper"/>
36     </mappers>
37 </configuration>

 

4.定义部门的实体类(BuMen.java)

  添加默认的方法

  添加 Get()Set() 方法

  添加 toString() 方法 方便打印显示

 1 package com.monv.mybatis.entity;
 2 
 3 public class BuMen {
 4     
 5     private Integer id;
 6     private String innerCode;
 7     private String deptName;
 8     
 9     public BuMen() {
10         super();
11     }
12 
13     public Integer getId() {
14         return id;
15     }
16     public void setId(Integer id) {
17         this.id = id;
18     }
19     public String getInnerCode() {
20         return innerCode;
21     }
22     public void setInnerCode(String innerCode) {
23         this.innerCode = innerCode;
24     }
25     public String getDeptName() {
26         return deptName;
27     }
28     public void setDeptName(String deptName) {
29         this.deptName = deptName;
30     }
31 
32     @Override
33     public String toString() {
34         return "BuMen [id=" + id + ", innerCode=" + innerCode + ", deptName="
35                 + deptName + "]";
36     }
37     
38 }

 

 

5.定义Mapper接口实现查询功能(BuMenMapper.java)

1 package com.monv.mybatis.mapper;
2  
3 import com.monv.mybatis.entity.BuMen;
4 
5 public interface BuMenMapper  {
6     
7     BuMen selectBuMen(Integer id);//部门的查询 返回类型 是部门
8     
9 }

 

 

 

 

 

6.定义Mapper.xml 编写SQL语句(BuMenMapper.xml)

namespace="com.monv.mybatis.mapper.BuMenMapper" //对应的是第5步定义的Mapper接口文件
id = "selectBuMen" //对应的是 第5步定义的Mapper接口中的 selectBuMen() 方法的名字;
parameterType = "int" //对应的是 第5步定义的Mapper接口中的 selectBuMen() 方法 中的参数类型;
resultType="BuMen" //对应的是 第5步定义的Mapper接口中的 selectBuMen() 方法 中的返回类型;
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd.mybatis-3-mapper.dtd">
 3 
 4 <mapper namespace="com.monv.mybatis.mapper.BuMenMapper">
 5 
 6     <!-- statement -->
 7     <!-- 这里返回的resultType 也可以写为全限定名"com.monv.mybatis.entity.BuMen" 因为在mybatis的配置文件中 有定义别名 所以这里的resultType 可以直接用BuMen-->
 8     <select id = "selectBuMen" parameterType = "int" resultType="BuMen">
 9       select * from tbInfoDept where  id = #{id}
10     </select>
11     
12 </mapper>

 

7.从XML构建 SqlSessionFactory

 1 package com.monv.mybatis.utils;
 2  
 3 import java.io.IOException;
 4 import java.io.InputStream;
 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 
10 public class BuMenUtil {
11     
12     private static SqlSessionFactory sqlSessionFactory = null;
13 
14     static{
15         
16         try {
17             InputStream in = Resources.getResourceAsStream("MyBatisConfig.xml");
18             sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
19         } catch (IOException e) {
20             e.printStackTrace();
21         }
22          
23     }
24      
25     private BuMenUtil(){};
26     
27     public static SqlSession getSqlSession(){
28         return sqlSessionFactory.openSession();
29     }
30 }

 

 

8.测试

 测试方法一:调用BuMenUtil里的方法 获得session

 1 package com.monv.mybatis.test;
 2 
 3 import org.apache.ibatis.session.SqlSession;
 4 
 5 import com.monv.mybatis.entity.BuMen;
 6 import com.monv.mybatis.mapper.BuMenMapper;
 7 import com.monv.mybatis.utils.BuMenUtil;
 8 
 9 public class TestBuMen {
10     public static void main(String[] args) {
11      
12         SqlSession session = BuMenUtil.getSqlSession();
13         BuMenMapper buMenMapper = session.getMapper(BuMenMapper.class);
14         BuMen buMen = buMenMapper.selectBuMen(30);        
15         session.close();
16         
17         System.out.println(buMen);        
18 
19     }
20 }

  测试方法二:在测试程序中 直接定义

 1 package com.monv.mybatis.test;
 2 
 3 import java.io.IOException;
 4 import java.io.InputStream;
 5 
 6 import org.apache.ibatis.io.Resources;
 7 import org.apache.ibatis.session.SqlSession;
 8 import org.apache.ibatis.session.SqlSessionFactory;
 9 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
10 
11 import com.monv.mybatis.entity.BuMen;
12 import com.monv.mybatis.mapper.BuMenMapper;
13 
14 
15 public class TestBuMen {
16     public static void main(String[] args) throws IOException {
17      
18 //        SqlSession session = BuMenUtil.getSqlSession();
19 //        BuMenMapper buMenMapper = session.getMapper(BuMenMapper.class);
20 //        BuMen buMen = buMenMapper.selectBuMen(30);        
21 //        session.close();
22 //        
23 //        System.out.println(buMen);        
24         //1.加载配置文件
25         InputStream in = Resources.getResourceAsStream("MyBatisConfig.xml");
26         //2. 构建SqlSessionFactory
27         SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
28         //3. 通过SqlSessionFactory 创建 SqlSession
29         SqlSession session = sqlSessionFactory.openSession();
30         //4. 通过SqlSession 获得DAO的实现类
31         BuMenMapper buMenMapper = session.getMapper(BuMenMapper.class);
32         //5. 测试方法
33         BuMen buMen = buMenMapper.selectBuMen(20);
34         session.close();
35         System.out.println(buMen);
36 
37     }
38 }

 

 

 

 

 放在最后目录结构

   

接口
posted @ 2022-01-11 11:03  改Bug的小魔女  阅读(773)  评论(0编辑  收藏  举报