Mybatis_1(認識)一個簡單的HelloWorld
阿新 • • 發佈:2019-01-06
1. 介紹:
MyBatis是支援普通SQL查詢,儲存過程和高階對映的優秀持久層框架。
MyBatis消除了幾乎所有的JDBC程式碼和引數的手工設定以及對結果集的檢索。
MyBatis可以使用簡單的XML或註解用於配置和原始對映,將介面和Java的
POJO(Plain Old Java Objects,普通的Java物件)對映成資料庫中的記錄。
過程:jdbc–>dbutil–>(mybatis)–>hibernate
所需部分:
1.jar包 asm-3.3.1.jar、 cglib-2.2.2.jar、 commons-logging-1.1.1.jar、 log4j-1.2.16.jar、 mybatis-3.1.1.jar、 mysql-connector-java-5.1.7-bin.jar、 slf4j-api-1.6.2.jar slf4j-log4j12-1.6.2.jar 2. 實體類 3. 介面 4.對映檔案 5.配置檔案 6.提供sqlsession的工具類
2.一個簡單的HelloWorld
2.1.實體類:User:
public class User {
private int id;
private String name;
private int age;
//getter、setter...
}
2.2.對映檔案:userMapper.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,namespace的值習慣上設定成包名+sql對映檔名,這樣就能夠保證namespace的值是唯一的 --> <mapper namespace="com.test.helloworld.userMapper"> <select id="selectAll" resultType="com.test.bean.User"> select * from users </select> </mapper>
2.3.配置檔案mybatis.cfg.xml
<?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> <!-- 映入外部配置檔案 --> <properties resource="mysql.properties"></properties> <!-- 配置mybatis執行環境,development:開發模式,work:工作模式--> <environments default="development"> <environment id="development"> <!-- type=“jdbc”表示使用JDBC的提交和回滾來管理事務 --> <transactionManager type="JDBC" /> <!-- mybatis提供了三種資料來源型別,POOLED,UNPOOLED,JNDI --> <!-- POOLED:表示支援JDBC資料來源的連線池 --> <!-- UNPOOLED:表示不支援JDBC資料來源的連線池 --> <!-- JNDI:表示支援外部資料來源連線池 --> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </dataSource> </environment> </environments> <mappers> <!-- 一個簡單的HelloWorld查詢SQL對映 --> <mapper resource="com/test/helloworld/userMapper.xml"/> </mappers> <!-- 為實體類定義別名,簡化sql對映xml檔案中的引用 --> <!-- <typeAliases> <typeAlias type="com.test.bean.User" alias="_User"/> </typeAliases> --> </configuration>
2.4.資料庫配置檔案mysql.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis1?useUincode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=root
2.5.測試類Test.java
public class Test {
/**
* 查詢所有User表中資料
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
String resource = "mybatis.cfg.xml";
//載入配置檔案
Reader reader = Resources.getResourceAsReader(resource);
//構建SQLsession工廠
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
//獲取執行對映檔案中SQL語句的session
SqlSession sqlSession = factory.openSession();
//對映SQL的標識字串
String statement = "com.test.helloworld.userMapper.selectAll";
//執行查詢返回一個唯一user物件的sql
List<User> user = sqlSession.selectList(statement);
System.out.println(user);
}
}
查詢結果:
[User [id=4, name=張三, age=21], User [id=5, name=張三三, age=21], User [id=6, name=張三, age=21], User [id=7, name=張三, age=21], User [id=9, name=張三三, age=21], User [id=10, name=3, age=3], User [id=11, name=張三, age=21]]