IDEA创建Maven项目 Mybatis框架
创建一个工程
目录结构
将文件夹变成资源文件夹
配置artifact
配置Tomcat
maven依赖
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>RELEASE</version>
<scope>test</scope>
</dependency>
</dependencies>
建pojo以及User类
package pojo;
public class User{
public User(){
}
public User(String username,String password){
this.username=username;
this.password=password;
}
private String username;
private String password;
}
建dao层
package dao;
import pojo.User;
import java.util.List;
public interface UserDao{
public List<User> findById(int id);
}
UserMapper.xml
import dao.UserDao;
import org.junit.Test;
import pojo.User;
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 java.io.IOException;
import java.io.Reader;
import java.util.List;
public class MainTest {
@Test
public void userFindByIdTest(){
//定义读取文件名
String resources="mybatis-config.xml";
//创建流
Reader reader=null;
try {
//读取mybatis.xml文件到reader对象中
reader= Resources.getResourceAsReader(resources);
} catch (IOException e) {
e.printStackTrace();
}
//初始化mybatis,创建SqlSessionFactory类的实例
SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader);
//创建session实例
SqlSession session=sqlMapper.openSession();
//传入参数查询,返回结果
UserDao userMapper=session.getMapper(UserDao.class);
List<User> list=userMapper.findById(1);
//输出结果
System.out.println(list);
//关闭session
session.close();
}
}
mybatis-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>
<!-- 环境配置 -->
<environments default="development">
<!--配置mysql的环境-->
<environment id="development">
<!--配置事务的类型-->
<transactionManager type="JDBC"/>
<!--配置连接池-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
<property name="username" value="root" />
<property name="password" value="zyuanyuan" />
</dataSource>
</environment>
</environments>
<!-- mapping文件路径配置 -->
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>
测试
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.Reader;
import java.util.List;
public class MainTest {
@Test
public void userFindByIdTest(){
//定义读取文件名
String resources="mybatis-config.xml";
//创建流
Reader reader=null;
try {
//读取mybatis.xml文件到reader对象中
reader= Resources.getResourceAsReader(resources);
} catch (IOException e) {
e.printStackTrace();
}
//初始化mybatis,创建SqlSessionFactory类的实例
SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader);
//创建session实例
SqlSession session=sqlMapper.openSession();
//传入参数查询,返回结果
UserDao userMapper=session.getMapper(UserDao.class);
List<User> list=userMapper.findById(1);
//输出结果
System.out.println(list);
//关闭session
session.close();
}
}