Mybatis學習[01]:【介紹、入門程式編寫】
阿新 • • 發佈:2019-12-31
內容
1.Mybatis框架的介紹
2.入門程式的編寫
Mybatis框架的介紹
1. 軟體框架的含義:
軟體框架,通常指的是為了實現某個業界標準或完成特點基本任務的軟體元件規範,也指為了實現某個軟體元件規範時,提供規範所要求之基礎功能的軟體產品。
框架是一個半成品,在半成品的基礎上完成自己的業務。目前我所學的框架是基於jar包(class檔案)以及xml配置檔案(呼叫class檔案)
2. Mybatis框架:
三層架構: dao,service,servlet(git)
1.Mybatis是一個dao層的一個框架,ibatis-->Mybatis
2.Mybatis是一個半自動化的ORM框架
ORM解釋:
特點:1.可以簡化程式碼,去除重複繁瑣的程式碼;
2.可以自動完成物件和資料庫資料的轉換;
3.支援快取機制以及動態SQL;
4.支援將表與表之間的關係轉換為實體與實體之間的關係;
3.Mybatis框架的工作流程:
首先來看原生JDBC的工作流程:
再來看一下Mybatis框架的簡單工作流程:入門程式的編寫
1.準備資料庫,匯入資料庫指令碼。
2.建立專案,新增依賴的jar包:
3.編寫實體類User:
public class User {
private int id;
private String username;
private Date birthday;
private String sex;
private String address;
}
複製程式碼
4.新增全域性配置檔案和對映檔案
書寫全域性配置檔案:mybatis-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.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis01"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<!--配置對映檔案 -->
<mappers>
<mapper resource="com/mybatis01/bean/UserMapper.xml"/>
</mappers>
</configuration>
複製程式碼
書寫對映檔案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="org.mybatis.example.BlogMapper">
<select id="selectUser" resultType="com.mybatis01.bean.User">
select *
from user
where id = #{id}
</select>
</mapper>
複製程式碼
5.解析全域性配置檔案(SqlSession執行Sql語句)
public class UserTest {
@Test
public void Test01() throws IOException {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
User user = sqlSession.selectOne("selectUser",1);
System.out.println(user);
}
}
複製程式碼
附加:控制檯列印日誌:
1.導包:
2.在src下面匯入log4j.properties:
# Global logging configuration
log4j.rootLogger=DEBUG,stdout
# MyBatis logging configuration...
log4j.logger.org.mybatis.example.BlogMapper=TRACE
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
複製程式碼