一概述
後臺框架
不是orm(操作對象來操作表)
二入門代碼
1.環境
(1)jar包
mysql數據庫驅動包
myBatis相關jar包
(2)配置文件
log4j.properties
SqlMapConfig.xml 核心配置文件
user.xml 表映射配置文件 寫數據庫語句
(3)其他
數據庫表的pojo類(字段對應)
配置文件注意事項:
核心配置配置文件中要導入sql映射文件()
<mappers>
<mapper resource="sqlmap/User.xml"/>
</mappers>
2.代碼
測試代碼
package com.itheima.test;
import java.io.IOException;
import java.io.InputStream;
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.itheima.domain.User;
public class MyBatisTest {
public static void main(String[] args) throws Exception {
//1.獲得sqlSession對象
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml"); //Resouces是Mybatis提供的工具類
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
//2.調用相關方法完成業務操作
User user = sqlSession.selectOne("findUserById", 1); //正好對應<select id="" parameterType="" resultType="">select * from user where id = #{id}</select>
System.out.println(user); //注意#{}相當於佔位符
//3.釋放資源 , 每一個sqlSession就是一個連接
sqlSession.close();
}
}
配置文件內容
1.核心配置文件
<?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>
<!-- 和spring整合後 environments配置將廢除-->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事務管理-->
<transactionManager type="JDBC" />
<!-- 數據庫連接池-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<mappers>
<!--將Users.xml添加在SqlMapConfig.xml -->
<mapper resource="sqlmap/User.xml"/>
</mappers>
</configuration>
2.. user.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="test">
<!-- id爲sql語句的id,parameterType 參數類型 , resultType 返回的類型 (實體類要寫類全名)-->
<select id="findUserById" parameterType="int" resultType="com.itheima.domain.User">
SELECT * from user where id= #{id}
</select>
</mapper>