記第一次學習Mybatis
阿新 • • 發佈:2018-12-25
第一次學習Mybatis是在網上找了一個老師的視訊教程看的。
首先,在Mybatis下載相關包,在入門裡面既可以選擇使用Maven依賴,也可以直接下載jar包。下好mybatis-3.4.6-zip包後,解壓縮會看到裡面有如下檔案。
圖中選中的即是在學習mybatis初期需要使用到的jar包,將此jar包引入到建立的java工程中。
上圖中的pdf檔案是一份官方的說明文件,裡面有所需要的配置資訊的部分。
在此,我們還需要mysql的驅動程式,同樣的去官網下載mysql-connector-java-8.0.13,同樣的將下載壓縮後的jar包引入工程中
然後開始建立Demo,在工程中建立一個Person的類如下
package com.liusong.entity; public class Person { private int id; private String name; private int age; public Person() { super(); this.id = id; this.name = name; this.age = age; } public Person(int id, String name, int age) { super(); this.id = id; this.name = name; this.age = age; } 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 int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { // TODO Auto-generated method stub return "編號:" + id + "," + "姓名:" + name + "," + "年齡:" + age; } }
同樣在資料庫中建立一個對應Person的表
接下來在工程中配置Mapper檔案,程式碼如下
<?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.liusong.entity.PersonMappers"> <select id="queryPersonById" resultType="com.liusong.entity.Person" parameterType= "int"> select * from person where id= #{id} </select> </mapper>
配置檔案config.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.cj.jdbc.Driver" />
<property name="url" value="jdbc:mysql://127.0.0.1:3306/shop?serverTimezone=UTC" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<mappers>
<!-- 載入對映檔案 -->
<mapper resource="com/liusong/entity/PersonMappers.xml" />
</mappers>
</configuration>
主程式TestMybatis
package com.liusong.entity; 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; public class TestMybatis { public static void main(String[] args) throws IOException { Reader reader = Resources.getResourceAsReader("config.xml"); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); SqlSession session = sessionFactory.openSession(); String statement = "com.liusong.entity.PersonMappers.queryPersonById"; Person person = session.selectOne(statement, 1); System.out.println(person); session.close(); } }
以上準備工作都完成後,開始執行 結果如下
在此期間曾遇到可很多錯誤,
(1)是顯示找不到config.xml檔案,上網搜尋了答案後,將config.xml檔案移至src下面,問題解決
(2)資料庫時間與驅動程式時間衝突,上網搜查後得以解決,參考https://blog.csdn.net/Hello_World_QWP/article/details/80421533
(3)檔案載入路徑問題,類的載入中間用點隔開,xml檔案的載入中間用/隔開。