入门案例:
在IDEA中新建了一个普通的java项目,加入jar包,工程结构如图。
图片.png
log4j.properties(在控制台打印日志,方便查看)
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# 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
SqlMapConfig.xml(mybatis全局配置文件)
<?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">
<environment id="development">
<!-- 使用jdbc事务管理,事务控制由mybatis-->
<transactionManager type="JDBC"/>
<!-- 数据库连接池,由mybatis管理-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql:///mybatis001"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
</configuration>
ItemsMapper.xml(映射文件,sql语句)
<?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 命名空间,作用就是对sql进行分类化管理,理解为sql隔离
注意:使用mapper代理方法开发,namespace有特殊重要的作用
-->
<mapper namespace="mapper.ItemsMapper">
<!-- public List<Items> queryItemsById(Integer id);-->
<select id="queryItemsById" parameterType="int" resultType="po.Items">
SELECT * FROM items WHERE id = #{id}
</select>
</mapper>
在sqlMapConfig.xml中加载User.xml
<mappers>
<mapper resource="mapper/ItemsMapper.xml"/>
</mappers>
程序代码
Items.java
package po;
/**
* Created by admin on 2017/7/1.
*/
public class Items {
private int id;
private String name;
private double price;
private String detail;
@Override
public String toString() {
return "Items{" +
"id=" + id +
", name='" + name + '\'' +
", price=" + price +
", detail='" + detail + '\'' +
'}';
}
//get/set方法省略
}
测试类Test.jav
package 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 po.Items;
import java.io.IOException;
import java.io.InputStream;
/**
* Created by admin on 2017/7/1.
*/
public class Test {
@org.junit.Test
public void test01() throws IOException {
String path = "SqlMapConfig.xml";
InputStream inputStream = Resources.getResourceAsStream(path);
//创建会话工厂,传入mybatis配置文件的信息
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 通过工厂得到SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
Items list = sqlSession.selectOne("mapper.ItemsMapper.queryItemsById",1);
System.out.println(list);
sqlSession.close();
}
}
查询结果
图片.png