mybatis 開發環境搭建
阿新 • • 發佈:2019-02-14
不說廢話直接上程式碼,首先看下我的目錄機構:
紅色部分,表明你所需的jar包,已經配置檔案.
建立使用者表,以及插入資料.
create table books(id int (11) not null auto_increment, image_url varchar(100) not null, book_name varchar(50) not null, author varchar(20) not null, description varchar(255) not null, primary key (id))ENGINE=InnoDB DEFAULT CHARSET=utf8; insert into books(image_url,book_name,author,description) values('resources/images/english.jpg','考研英語','孫悟空','內容系統而全面,英語學習的好幫手!內容系統而全面,英語學習的好幫手!內容系統而全面,英語學習的好幫手!內容系統而全面,英語學習的好幫手!'); insert into books(image_url,book_name,author,description) values('resources/images/english.jpg','考研數學','劉詩詩','內容系統而全面,數學學習的好幫手,內容系統而全面,數學學習的好幫手內容系統而全面,數學學習的好幫手內容系統而全面,數學學習的好幫手');
建立Book.java
package com.mybatis.model; public class Book { private int id; private String imageUrl; private String name; private String author; private String description; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getImageUrl() { return imageUrl; } public void setImageUrl(String imageUrl) { this.imageUrl = imageUrl; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } }
設定mybatis 配置檔案:configuration.xml,
建立與Book.java對應的對映檔案 book.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> <typeAliases> <!-- 給實體類去一個別名 --> <typeAlias type="com.mybatis.model.Book" alias="Book"/> </typeAliases> <!-- 資料來源配置,這裡用MySQL資料庫 --> <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/test"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <mappers> <!-- book.xml裝載進來,等同於把Dao的實現類裝載進來 --> <mapper resource="com/mybatis/model/book.xml"/> </mappers> </configuration>
<?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">
<!--這塊等於Dao介面的實現 namespace必須和介面的類路徑一樣-->
<mapper namespace="com.mybatis.model.BookMapper">
<!-- queryEmpById必須和介面中的方法名一樣, 返回一個Emp 就是剛才的別名 ,如果不用別名要連路徑一起寫,麻煩-->
<select id="selectBookById" parameterType="int" resultType="Book">
select * from books where id=#{id}
</select>
</mapper>
最後就讓我們編寫一個測試類,執行我們的程式
package com.mybatis.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.mybatis.model.Book;
public class Test {
/***
* 獲得MyBatis SqlSessionFactory
* SqlSessionFactory 負責建立SqlSession ,一旦建立成功,就可以用SqlSession例項來執行對映語句
* ,commit,rollback,close等方法
* @return
*/
private static SqlSessionFactory getSessionFactory(){
SqlSessionFactory sessionFactory=null;
String resource="configuration.xml";
try {
sessionFactory=new SqlSessionFactoryBuilder().build(Resources.getResourceAsReader(resource));
} catch (IOException e) {
e.printStackTrace();
}
return sessionFactory;
}
public static void main(String[] args) {
SqlSession session=getSessionFactory().openSession();
Book book=session.selectOne("com.mybatis.model.BookMapper.selectBookById", 2);
System.out.println(book.getAuthor());
}
}