Java工程中使用Mybatis (工程结合Mybatis,数据结合Swing使用))

时间:2022-04-04 19:50:19

2011年6月iBatis 更名为 MyBatis,从 iBatis 到 MyBatis,不只是名称上的变化,MyBatis 提供了更为强大的功能,同时并没有损失其易用性,相反,在很多地方都借助于 JDK 的泛型和注解特性进行了简化。所以你懂的,开始学习就从MyBatis吧.

例子使用MyBatis+Oracle实现一个用户表的查询,如下:

①数据库 在MySQL中,test数据库下,简历user表,字段:iid,ifullname,ipassword,建表语句略。

②需导入的包 只有两个: mybatis-3.4.4.jar 和 ojdbc14.jar(JDBC包)

③目录结构 采用最简单的结构,com.mybatis包下有且仅有四个文件 configuration.xml user.xml User.java Test.java

Java工程中使用Mybatis (工程结合Mybatis,数据结合Swing使用))

④mybatis配置文件configuration.xml,

[xml]

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"
<configuration> 
  <typeAliases> 
    <typeAlias alias="User" type="com.mybatis.User"></typeAlias> 
  </typeAliases> 
  <environments default="development"
    <environment id="development"
      <transactionManager type="JDBC"></transactionManager> 
      <dataSource type="POOLED"
        <property name="driver" value="oracle.jdbc.driver.OracleDriver" /> 
        <property name="url" value="jdbc:oracle:thin:@192.168.0.87:1526:entegor" /> 
        <property name="username" value="ideal" /> 
        <property name="password" value="ideal" /> 
      </dataSource> 
    </environment> 
  </environments> 
  <mappers> 
    <mapper resource="user.xml"/> 
  </mappers> 
</configuration>

 User表sql文件User.xml,

[xml]

?
1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"
<mapper namespace="User"
  <select id="selectUser" parameterType="int" resultType="User"
    SELECT * FROM user WHERE id = #{id} 
  </select> 
  <select id="selectUsers" resultType="User"
    SELECT * FROM user 
  </select> 
</mapper>

表结构文件User.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package com.mybatis;
public class User {
  private int iid;
  private String ifullname;
  private String iloginname;
  private String ipassword;
  public User(){} 
  public User(int id, String name) { 
    this.iid = id; 
    this.ifullname = name; 
  
  public String getIfullname() {
    return ifullname;
  }
  public int getIid() {
    return iid;
  }
  public void setIid(int iid) {
    this.iid = iid;
  }
  public void setIfullname(String ifullname) {
    this.ifullname = ifullname;
  }
  public String getIloginname() {
    return iloginname;
  }
  public void setIloginname(String iloginname) {
    this.iloginname = iloginname;
  }
  public String getIpassword() {
    return ipassword;
  }
  public void setIpassword(String ipassword) {
    this.ipassword = ipassword;
  }
}

⑦测试用例Test.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package com.controller;
import java.io.IOException;
import java.io.Reader;
import java.util.List;
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 com.mybatis.User;
public class Test {
  public static void main(String[] args) throws IOException {
    // TODO Auto-generated method stub
    String resource = "configuration.xml"
    Reader reader = Resources.getResourceAsReader(resource); 
    SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(reader); 
    SqlSession session = ssf.openSession(); 
    try
      User user = session.selectOne("selectUser", 2); 
      System.out.println(user.getIfullname()); 
      System.out.println(user); 
      System.out.println("--------------分隔线---------------"); 
      List<User> users = session.selectList("selectUsers"); 
      for(int i=0; i<users.size(); i++) { 
        System.out.println(users.get(i).getIfullname()); 
      
    } catch (Exception e) { 
      e.printStackTrace(); 
    } finally
      session.close(); 
    
  }
}

原文链接:http://www.cnblogs.com/symbol8888/archive/2017/04/21/6742513.html