1. 程式人生 > >【Mybatis學習筆記】01 配置搭建Mybatis

【Mybatis學習筆記】01 配置搭建Mybatis

一、什麼是Mybatis
  • mybatis是對jdbc的封裝
將sql語句放在對映檔案中(xml)
  • 自動將輸入引數對映到sql語句的動態引數上
  • 自動將sql語句執行的結果對映成java物件。
二、入門例項1、建立專案mybatis-01java專案maven2.匯入jar包![image]()3.加入配置檔案src下建立
  1. dp.properties
jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/testjdbc.username=rootjdbc.password=123456
  1. log4j.properties
log4j.rootLogger=DEBUG,Console
log4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.appender.Console.layout=org.apache.log4j.PatternLayoutlog4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%nlog4j.logger.org.apache=INFO
  1. mybaties核心配置檔案:
1.mybaties-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> <!-- 引入資料庫連線配置 --> <properties resource="db.properties"></properties><!-- 定義返回值別名 --> <typeAliases> <!-- <typeAlias type="com.demo.pojo.User" alias="User"/> 給單個返回值新增別名--> <!-- 自動掃描包名 直接用類名就可以作為返回值 -->
<package name="com.demo.pojo"/> </typeAliases> <!-- 定義資料來源 --> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="jdbc.driver"/> <property name="url" value="jdbc.url"/> <property name="username" value="jdbc.username"/> <property name="password" value="jdbc.password"/> </dataSource> </environment> <!-- <environment id="test"></environment> <environment id="production"></environment> --> </environments> <!-- 定義對映檔案 --> <mappers> <!-- <mapper resource="com/demo/entity/mapper/UserDaoMapper.xml"/> 單個對映不方便--> <package name="com.demo.entity.mapper"/> </mappers></configuration>

  1. 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" ><!-- namespace="對應的介面完整包名+類名",通過namespace找介面。介面名字為XXXdao/mapper都可以。 --> <!-- statement --> <!-- <insert> <delete> <update> <select>--> <!-- paramterType為什麼不用寫全名? 因為mybatis給引數的全名起了別名。具體參考 --><mapper namespace="com.demo.mapper.UserMapper"> <select id="selectUser" parameterType="int" resultType="user"> select * from user where id= #{id} </select></mapper>
4.userMapper.java
5.建立POJO6.建立工具類
public class MybatisUtil { private static SqlSessionFactory sqlSessionFactory=null; static { try { InputStream in = Resources.getResourceAsStream("mybatis-config.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(in); } catch (IOException e) { e.printStackTrace(); } } private MybatisUtil() {} public static SqlSession getSqlSession() { return sqlSessionFactory.openSession(); }}
7.建立測試用例
package com.demo.mapper;import org.apache.ibatis.session.SqlSession;import org.junit.Test;import com.demo.pojo.User;import com.demo.util.MybatisUtil;public class UserMapperTest { @Test public void testSelectUser() { SqlSession session = MybatisUtil.getSqlSession(); UserMapper userMapper = session.getMapper(UserMapper.class); User user = userMapper.selectUser(1); System.out.println(user); session.close(); }}