MyBatis是一个基于Java的开源的持久层框架
首先进行MyBatis的环境搭建
1.下载MyBatis 下载地址https://github.com/mybatis/mybatis-3/releases
2.将MyBatis相关的包导入到工程中
将下载好的MyBatis-3.3.0.zip解压,打开文件夹
先导入mybatis-3.3.0.jar
再到入lib文件夹中所有的jar包
最后导入数据库连接驱动的jar包(例如我用的是MySQL就导入mysql-connector-java-5.1.7-bin.jar)
3.配置日志
在src下新建文件名为log4j.properties的配置文件
代码如下
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
接着创建MyBatisConfig.java的配置文件
<?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">
<transactionManager type="JDBC">
</transactionManager>
<dataSource type="POOLED"> //使用连接池
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/dbname"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="project/book/map/projectUser.xml"/>
</mappers>
</configuration>
配置好你的数据库连接信息,driver,url,username,password跟jdbc连接数据库配置一样
map文件的引用除了代码中的引用外,还可以
绝对路径引用 <mapper url=“file///var/sqlmap/AuthorMapper.xml”/>
包路径引用<package name="com.bao.mybatis.mapperinterface"/>
4.建立MySQL数据库,建表,输入一条记录,然后在工程中建立user类(包括set get方法)
创建user.xml文件来写SQL语句
<mapper namespace="/">
<select id="findById" parameterType="int" resultType="project.book.pojo.User">
select * from User where id=#{id}
</select>
</mapper>
创建测试类
public static void main(String[] args) {
String resource = "projtct/book/map/MyBatisConfig.xml";
Reader reader = null;
SqlSession session;
try {
reader = Resources.getResourceAsReader(resource);
} catch (IOException e) {
e.printStackTrace();
}
SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader);
//sqlsessionFactory是面向程序的
session = sqlMapper.openSession(); //session是面向过程的,用完记得调用close方法把它关闭
JiKeUser temp = session.selectOne("findById", 1);
//第一个参数就是上段代码select的id,第二个参数就是数据库表中对应的id
System.out.println(temp.getUserName());
System.out.println(temp.getPassword());
session.close();
}
这样,第一个使用mybatis的程序就能成功运行了,欢迎大家指出不足之处,互相交流,谢谢。