mybatis学习笔记一(环境配置)
万里之行起于小步,从搭建环境开始。
一、下载好jar包,既然是基本环境搭建就不用弄的太复杂就加入三个最基本的jar包
1、mybatis-3.1.0-SNAPSHOT.jar
2、mysql-connector-java-5.0.8-bin.jar
3、log4j-1.2.16.jar
二、mybatis是基于log4j日志框架的,恩,把log4j的日志数据配置文件也配置一下,就先把级别设定在debug的级别上
# Rules reminder:# DEBUG < INFO < WARN < ERROR < FATAL# Global logging configurationlog4j.rootLogger=DEBUG, stdout# My logging configuration...log4j.logger.org.mybatis.jpetstore=DEBUG## Console output...log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%5p %d %C: %m%n
<?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><!-- simple alias for full class name --><typeAlias alias="User" type="com.akwolf.domain.User"/></typeAliases> <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://192.168.2.110:3306/mybatis"/> <property name="username" value="zhangh"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/akwolf/persistence/UserMapper.xml"/> </mappers></configuration>
import java.io.Serializable;public class User implements Serializable {private static final long serialVersionUID = 1L;private int id;private String name;private int age;//setter && getter}
package com.akwolf.persistence;import com.akwolf.domain.User;public interface UserMapper {/** * 通过id查询用户 * * @param id * 用户id * @return 用户实体 */public User getUserById(int id);}
<?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="com.akwolf.persistence.UserMapper"> <select id="getUserById" parameterType="int" resultType="User"> select * from tbl_user where id = #{id} </select></mapper>
package com.akwolf.test;import java.io.IOException;import java.io.Reader;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 org.junit.AfterClass;import org.junit.BeforeClass;import org.junit.Test;import com.akwolf.domain.User;import com.akwolf.persistence.UserMapper;public class UserTest {private static SqlSession session ;@BeforeClasspublic static void init(){// 配置文件的路径String res = "com/akwolf/conf/Configuration.xml" ;try {// 1、加载配置文件Reader reader = Resources.getResourceAsReader(res);// 2、创建SqlSessionFactory,用于取得SqlSessionSqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader) ;// 3、取得一个SqlSession(对Jdbc中connection的封装)session = factory.openSession() ;} catch (IOException e) {e.printStackTrace();} }@Testpublic void testGet() {// 4、取得mybatis实现并实例化好的UserMapper接口实例UserMapper mapper = session.getMapper(UserMapper.class) ; // 5、进行dao层的操作User u = mapper.getUserById(1) ;System.out.println(u);}@AfterClasspublic static void destory(){// 6、关闭SqlSessionsession.close() ;}}