1.数据库创建
测试读取数据库的内容, 字段id name age, 表名person
2.创建maven工程
不会的参照
http://www.cnblogs.com/hongmoshui/p/7994759.html
3.查看文件目录
4. 导入依赖的jar
可配置pom文件自动下载, 然而我本地有, 我就不配置了.
加载本地jar方法
5.创建几个必要的文件
(1)Person
package com.lynash.domain;
public class Person {
private Integer id;
private String name;
private Integer age;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}
(2)mapper.xml
在resources/mapper路径下
<?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="mapper.UserMapper"> <!-- 命名空间,名字可以随意起,只要不冲突即可 -->
<select id="findAll" parameterType="com.lynash.domain.Person" resultType="Person">
SELECT * FROM Person
</select>
</mapper>
(3)sqlMapConfig.xml
在resources目录下
<?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>
<typeAlias type="com.lynash.domain.Person" alias="Person"/>
</typeAliases>
<!-- 配置开发环境,可以配置多个,在具体用时再做切换 -->
<environments default="test">
<environment id="test">
<transactionManager type="JDBC"></transactionManager> <!-- 事务管理类型:JDBC、MANAGED -->
<dataSource type="POOLED"> <!-- 数据源类型:POOLED、UNPOOLED、JNDI -->
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/test?characterEncoding=utf-8" />
<property name="username" value="root" />
<property name="password" value="111111" />
</dataSource>
</environment>
</environments>
<!-- 加载映射文件 mapper -->
<mappers>
<!-- 路径用 斜线(/) 分割,而不是用 点(.) -->
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>
(4)log4j.properties 文件
在resources路径下
log4j.rootLogger=DEBUG, Console
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
6.创建junit test
工程, 右键, new-> other->搜索jUnit创建junit实例
编写代码
package com.lynash.test;
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.Test;
import com.lynash.domain.Person;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import static org.junit.Assert.*;
import org.junit.Test;
public class TestMyBatis {
@Test
public void testQuery() throws IOException { // 查询记录
/**
* 1、获得 SqlSessionFactory
* 2、获得 SqlSession
* 3、调用在 mapper 文件中配置的 SQL 语句
*/
String resource = "sqlMapConfig.xml"; // 定位核心配置文件 maven工程记得放在resources目录下
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); // 创建 SqlSessionFactory
SqlSession sqlSession = sqlSessionFactory.openSession(); // 获取到 SqlSession
// 调用 mapper 中的方法:命名空间 + id
List<Person> personList = sqlSession.selectList("mapper.UserMapper.findAll");
for (Person p : personList) {
System.out.println(p);
}
}