MyBatis環境配置及入門
阿新 • • 發佈:2018-12-16
配置資料連線:
<?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.yiibai.mybatis.models.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://127.0.0.1:3306/yiibai" /> <property name="username" value="root" /> <property name="password" value="" /> </dataSource> </environment> </environments> <mappers> <!-- // power by http://www.yiibai.com --> <mapper resource="com/yiibai/mybatis/models/User.xml" /> </mappers> </configuration>
XML檔案配置:
<?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="com.yiibai.mybatis.models.UserMapper"> <select id="GetUserByID" parameterType="int" resultType="User"> select * from `user` where id = #{id} </select> </mapper>
1、配置檔案 Configure.xml 是 mybatis 用來建立 sessionFactory,裡面主要包含了資料庫連線相關內容,還有 java 類所對應的別名,比如:<typeAlias alias="User" type="com.yiibai.mybatis.models.User"/> 這個別名非常重要,在具體的類的對映中,比如:User.xml 中 resultType 就是對應這個。要保持一致,這裡的 resultType 還有另外單獨的定義方式,後面學習到我們再詳細介紹說明。 2、Configure.xml 裡面 的<mapper resource="com/yiibai/mybatis/models/User.xml"/>是包含要對映的類的 xml 配置檔案。 3、在User.xml 檔案裡面主要是定義各種 SQL 語句,以及這些語句的引數,以及要返回的型別等等。
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 com.yiibai.mybatis.models.*;
/**
*
* @author yiibai
* @copyright http://www.yiibai.com
* @date 2015/09/22
*/
public class HelloWord {
private static SqlSessionFactory sqlSessionFactory;
private static Reader reader;
static {
try {
reader = Resources.getResourceAsReader("config/Configure.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
} catch (Exception e) {
e.printStackTrace();
}
}
public static SqlSessionFactory getSession() {
return sqlSessionFactory;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SqlSession session = sqlSessionFactory.openSession();
try {
User user = (User) session.selectOne(
"com.yiibai.mybatis.models.UserMapper.GetUserByID", 1);
if(user!=null){
String userInfo = "名字:"+user.getName()+", 所屬部門:"+user.getDept()+", 主頁:"+user.getWebsite();
System.out.println(userInfo);
}
} finally {
session.close();
}
}
}