导入jar包,复制粘贴到lib文件夹下
如果要使用单元测试,再导入一个包即可
配置数据源
导入成功,表都在这里。
配置mybatis.cfg.xml(可在src下建个config包,然后放进去)
<?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>
<package name="com.oracle.pojo"></package>
</typeAliases>
<!-- 配置mybatis运行环境 -->
<environments default="cybatis">
<environment id="cybatis">
<!-- type="JDBC" 代表使用JDBC的提交和回滚来管理事务 -->
<transactionManager type="JDBC" />
<!-- mybatis提供了3种数据源类型,分别是:POOLED,UNPOOLED,JNDI -->
<!-- POOLED 表示支持JDBC数据源连接池 -->
<!-- UNPOOLED 表示不支持数据源连接池 -->
<!-- JNDI 表示支持外部数据源连接池 -->
<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>
</environments>
<mappers>
<package name="com.oracle.mapper"></package>
</mappers>
</configuration>
配置数据库连接db.properties(src下)
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ShopingMall?characterEncoding=UTF8
jdbc.username=root
jdbc.password=root
配置log4j.properties(src下)
注意看第四行:log4j.logger.com.oracle.mapper=TRACE
log4j.logger.(mapper包的路径)
# Global logging configuration
log4j.rootLogger=ERROR, stdout
# MyBatis logging configuration...
log4j.logger.com.oracle.mapper=TRACE
# 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
Global logging configuration
SqlSessionUtil工具
注意:getResourceAsStream中放mybatis.cfg.xml的路径
package com.oracle.util;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.InputStream;
public class SqlSessionUtil {
static SqlSessionFactory sqlSession = null;
static {
// 1.使用反射 扫描 mybatis的 全局 配置 文件 sqlMapConfig.xml
InputStream ips = SqlSessionUtil.class.getClassLoader().getResourceAsStream("config/mybatis.cfg.xml");
// 2.mybatis有一个自己的 工厂类 ,用来加载流
sqlSession = new SqlSessionFactoryBuilder().build(ips);
}
// 工具类的 方法
public static SqlSession getSession() {
SqlSession session = sqlSession.openSession(true);// 手动提交
// sqlSession.openSessitrue)on(;//自动提交
return session;
}
}
日常测试阶段:
拿seller表,表中有如下数据:
创建pojo(实体类)
package com.oracle.pojo;
import java.io.Serializable;
public class Seller implements Serializable {
private Integer sId;
private String sName;
private String sPassword;
private Double blance;
public Integer getsId() {
return sId;
}
public void setsId(Integer sId) {
this.sId = sId;
}
public String getsName() {
return sName;
}
public void setsName(String sName) {
this.sName = sName;
}
public String getsPassword() {
return sPassword;
}
public void setsPassword(String sPassword) {
this.sPassword = sPassword;
}
public Double getBlance() {
return blance;
}
public void setBlance(Double blance) {
this.blance = blance;
}
@Override
public String toString() {
return "Seller{" +
"sId=" + sId +
", sName='" + sName + '\'' +
", sPassword='" + sPassword + '\'' +
", blance=" + blance +
'}';
}
}
接口
package com.oracle.mapper;
import com.oracle.pojo.Seller;
import java.util.List;
public interface SellerMapper {
public List<Seller> getSellers();//获得所有的Seller
}
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="com.oracle.mapper.SellerMapper">
<select id="getSellers" resultType="seller">
select * from seller
</select>
</mapper>
test测试
package com.oracle.test;
import com.oracle.mapper.SellerMapper;
import com.oracle.pojo.Seller;
import com.oracle.util.SqlSessionUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import java.util.List;
public class TestSeller {
@Test
public void getSellers(){
SqlSession session = SqlSessionUtil.getSession();
SellerMapper mapper = session.getMapper(SellerMapper.class);
List<Seller> sellers = mapper.getSellers();
for (Seller seller : sellers) {
System.out.println(seller);
}
}
}
控制台打印:
配置完成!
资源
上面提到的jar包
Jar包下载地址