首先应该说到,mybatis是apache所属的一个持久层框架,所谓持久层就是因为mybatis是为操作数据库而制作的一种框架,而操作数据库就是对数据永久性的修改,所以是持久层框架。
第一步,导入mybatis的jar包和mysql的jar包。
第二步,核心配置文件,文件名习惯写为mybatis-config.xml。
其中配置代码为:
--------------------------------------------------------------------------代码开始---------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8" ?><?xml version="1.0" encoding="UTF-8" ?>
<!-- dtd后缀文件是标签信息验证,没有它就不会有标签提示,
并且无法使用这些标签,是xml文件的一部分 -->
<!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"/> <!-- 交易管理类型 -->
<dataSource type="POOLED">
<!-- 我在这里遇到一个问题,后面运行代码的时候,显示错误no suit driver,后来发现是因为driver和url的值里面有一个小小的空格,去掉就好了 -->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/school"/>
<property name="username" value="root"/>
<property name="password" value="abcd1234"/>
</dataSource>
</environment>
</environments>
<mappers>
<!-- 加载mapper文件 -->
<mapper resource="com/mapper/TeacherMapper.xml"/>
</mappers>
</configuration>
--------------------------------------------------------------------------代码结束---------------------------------------------------------------------
第三步,在com.mapper包下,写一个文件TeacherMapper.xml
文件内容为:
--------------------------------------------------------------------------代码开始---------------------------------------------------------------------
<?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="TeacherMapper">
<!-- 注意返回类型resultType的设置 -->
<select id="countTeacher" resultType="int">
select count(*) from teacher
</select>
</mapper>
--------------------------------------------------------------------------代码结束---------------------------------------------------------------------
第三步,测试和使用,写一个main方法,内容为:
--------------------------------------------------------------------------代码开始---------------------------------------------------------------------
package com.test;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class test {
public static void main(String[] args) throws Exception{
//加载mybatis核心配置文件
String resource = "mybaits-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
//创建会话工厂
//我在这里遇到过一个问题就是,lib包下的包没有起作用导致无法用那些类,因为我把手痒把lib文件夹名改为了libs
SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(inputStream);
//我在这里遇到过一个问题就是,我把mybaits-config.xml核心配置文件下的mapper暂时设置为空的,导致无法使用核心配置文件
//开始一个会话
SqlSession session=sqlSessionFactory.openSession();
//selectOne()和select()的区别在于返回的数据条数不一样
//括号内的参数写完整比较好,否则mapper里面多个命名空间下使用同一个id就无法自动选择了
int count=session.selectOne("TeacherMapper.countTeacher");
System.out.println(count);
//关闭会话
session.close();
}
}
--------------------------------------------------------------------------代码结束---------------------------------------------------------------------
到此,mybatis框架的简单使用完成。
内容中是一个实列,如要用到自己的项目里还需简单修改。