發現網上給的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實驗成功。。。。