Java:MyBatis3新手簡單入門

發現網上給的mybatis的例子有的配置完了但是也是不成功的。所以特意寫了本文,幫助mybatis入門.

iBatis更名爲MyBatis,作出了些修改.如以前使用SqlMapClient進行數據庫操作,現在使用SqlSession

首先是數據庫結構,直接上圖:數據庫的名稱:test,表名:User,表結構如下:


需要導入mybatis-3.2.1.jar和mysql-connector-java-5.1.23-bin.jar 這個兩個jar包

項目結構如圖:


以上已經完成了mybatis所有的環境,現在演示開始使用mybatis訪問數據庫。

1.現在開始配置mybatis, 配置文件在根目錄即可,爲mybatis.cfg.xml,其實這個名字大家可以隨意取得。我的數據庫是mysql,用戶名爲root,密碼password爲lee

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

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8" />
                <property name="username" value="root" />
                <property name="password" value="lee" />
            </dataSource>
        </environment>
    </environments>
    
    <mappers>
        <mapper resource="maps/User.xml" />
    </mappers>
</configuration>
2.編寫User類即User.java

package domain;
public class User {
    private int id;
    private String name;
   
    public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
    public User() {}

    public User(String name) { 
    	this(0, name); 
    }
    public User(int id, String name) {
        this.id = id;
        this.name = name;
    }
    @Override
    public String toString() { 
    	return "ID: " + id + ", Name: " + name; 
    }
}

3.User.xml映射文件,就是在這個文件裏面進行sql語句的操作。

<?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">
    	<![CDATA[select * from user where id = #{id}]]>
    </select>
</mapper>
4 現在用一個test類即test.java 來實現對數據庫的測試 輸出id爲3的用戶

package test;

import java.io.IOException;
import java.io.Reader;

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 domain.User;


public class Test {
    public static void main(String[] args) throws IOException {
        String resource = "mybatis.cfg.xml";
        Reader reader = Resources.getResourceAsReader(resource);
        SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(reader);
        
        SqlSession session = ssf.openSession();
        
        try {
            User user = (User) session.selectOne("selectUser", "3");
            System.out.println(user);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            session.close();
        }
    }
}

然後在test.java上運行,看到結果:

至此mybatis實驗成功。。。。




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