MyBatis連接數據實例

MyBatis連接數據實例

本文介紹一個使用MyBatis連接oracle數據庫的實例:

  • 1、首先創建MyBatis-Config.xml文件
  • 2、創建實體類+(Mapper.xml文件或接口加註解形式)
  • 3、創建實體類的Mapper.xml文件
  • 4、將Mapper信息註冊到Mabatis配置文件中(MyBatis-Config.xml)
  • 5、創建測試類

工程目錄結構
數據庫測試表:
create table USERINFO
(
ID VARCHAR2(20),
PASSWORD VARCHAR2(10),
NAME VARCHAR2(10)
)

1、首先創建MyBatis-Config.xml文件

文件中可以:
(1)配置類型別名,使用標記typeAlias,使用一個簡單的別名來代替一個冗長的類型。
(2)配置數據庫連接信息
(3)註冊實體類的mapper

代碼塊

<?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 type="domain.User" alias="User"/>
</typeAliases>

  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
        <property name="url" value="jdbc:oracle:thin:@192.168.100.108:1521:orcl"/>
        <property name="username" value="AAA"/>
        <property name="password" value="123"/>
      </dataSource>
    </environment>
  </environments>

<mappers>
     <mapper resource="domain/UserMapper.xml"/>
</mappers>

</configuration>

2、創建實體類+(Mapper.xml文件或接口加註解形式)

代碼塊

package domain;

public class User {
    private int id;
    private String password;
    private String name;

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return "User [id=" + id + ", name=" + name + ", password=" + password
                + "]";
    }
}

3、創建實體類的Mapper.xml文件

文件中:
(1)寫入sql語句
(2)返回類型可用resultMap,添加resultMap標籤
(3)也可使用resultType

代碼塊

<?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="domain.UserMapper">  
    <resultMap type="domain.User" id="UserResult">    
         <id column="id" property="id"/>    
         <result column="password" property="password"/>    
         <result column="name" property="name"/>    
    </resultMap>

    <select id="selectUser" parameterType="int" resultType="User">    
      select * from USERINFO where id = #{id}    
    </select>

</mapper>

4、將Mapper信息註冊到Mabatis配置文件中(MyBatis-Config.xml)

5、創建測試類

(1)獲取sqlSessionFactory對象;
(2)獲取sqlSession對象;

代碼塊

package domain;

import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class App {
    static SqlSessionFactory sqlSessionFactory = null;

    static{
        try {
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); 

        } catch (Exception e) {
            // TODO: handle exception
            System.out.println(e.getMessage());
        }

    }

    public static void main(String[] args) {
        if (sqlSessionFactory == null) {
            System.out.println("錯誤!");
            return;
        }
        SqlSession session = sqlSessionFactory.openSession();
        User user = session.selectOne("domain.UserMapper.selectUser", 1);
        session.close();
        System.out.println(user);   
    }
}

測試結果:User [id=1, name=小康, password=123456]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章