MyBatis 開發記錄
1、在classpath下創建log4j.properties
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# 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
2、在classpath
<?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="mysql" />
</dataSource>
</environment>
</environments>
</configuration>
3、創建與數據庫對應的PO類,PO類用於mybatis的sql映射
4、在classpath下的sqlmap目錄下創建sql映射文件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獲取用戶信息 -->
<select id="findUserById" parameterType="int" resultType="cn.itcast.mybatis.po.User">
select * from user where id = #{id}
</select>
<!-- 自定義條件查詢用戶列表 -->
<select id="findUserByUsername" parameterType="java.lang.String"
resultType="cn.itcast.mybatis.po.User">
select * from user where username like ‘%${value}%‘
</select>
</mapper>
5、加載映射文件
<mappers>
<mapper resource="sqlmap/User.xml"/>
</mappers>
6、測試程序
public class Mybatis_first { //會話工廠 private SqlSessionFactory sqlSessionFactory; @Before public void createSqlSessionFactory() throws IOException { // 配置文件 String resource = "SqlMapConfig.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); // 使用SqlSessionFactoryBuilder從xml配置文件中創建SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder() .build(inputStream); } // 根據 id查詢用戶信息 @Test public void testFindUserById() { // 數據庫會話實例 SqlSession sqlSession = null; try { // 創建數據庫會話實例sqlSession sqlSession = sqlSessionFactory.openSession(); // 查詢單個記錄,根據用戶id查詢用戶信息 User user = sqlSession.selectOne("test.findUserById", 10); // 輸出用戶信息 System.out.println(user); } catch (Exception e) { e.printStackTrace(); } finally { if (sqlSession != null) { sqlSession.close(); } } } // 根據用戶名稱模糊查詢用戶信息 @Test public void testFindUserByUsername() { // 數據庫會話實例 SqlSession sqlSession = null; try { // 創建數據庫會話實例sqlSession sqlSession = sqlSessionFactory.openSession(); // 查詢單個記錄,根據用戶id查詢用戶信息 List<User> list = sqlSession.selectList("test.findUserByUsername", "張"); System.out.println(list.size()); } catch (Exception e) { e.printStackTrace(); } finally { if (sqlSession != null) { sqlSession.close(); } } } }
MyBatis 開發記錄