- 下載下傳mybatis.zip,解壓
- 建立java工程
- 導入jar包 (記得需要右鍵build path)
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1TP31UNRR0T0MGVPpHOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2LcRHelR3LcJzLctmch1mclRXY39zN3cDMyMTM1EzNwgDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
4.建立資料庫以及建表
5. 在工程中加入mybatis-conf.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>
<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/blog" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
</configuration>
6.編寫實體類User
package com.user.mysql;
public class User {
private int id;
private String username;
private String password;
private String phone;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
7.編寫映射檔案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="usermapper">
<!-- parameterType表示參數類型
resultType表示結果類型 -->
<select id="getUser" parameterType="int" resultType="com.user.mysql.User">
<!-- 注意這裡是真正的sql,#{}作為參數的占位符 -->
select * from users where id = #{id}
</select>
</mapper>
8.在主配置中加入mapper (與environments同級)
<mappers>
<mapper resource="com/user/mysql/UserMapper.xml" />
</mappers>
9. 編寫測試類
package com.user.test;
import java.io.IOException;
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.user.mysql.User;
public class Test {
public static void main(String[] args) {
//建立SqlSessionFactory
SqlSessionFactory factory;
try {
factory = new SqlSessionFactoryBuilder()
.build(Resources.getResourceAsStream("mybatis-conf.xml"));
SqlSession session = factory.openSession();
String statment = "usermapper.getUser"; //等于mapper的namespace+具體sql的id
//參數表示擷取表中第幾列數
User user = session.selectOne(statment, 1);
//列印的是表中什麼字段的内容
System.out.println(user.getUsername());
} catch (IOException e) {
e.printStackTrace();
}
}
}
工程下的部署
第一次學mybatis的架構,相比原來寫的代碼連接配接資料庫之類的更加靈活應用
MyBatis是一個資料持久層(ORM)架構,在實體類和SQL語句之間建立映射關系,是一種半自動化的ORM實作。
MyBatis的優點:
1、基于SQL文法,簡單易學。
2、能了解底層組裝過程。
3、SQL語句封裝在配置檔案中,便于統一管理與維護,降低了程式的耦合度。
4、程式調試友善。