mybatis框架的搭建

首先应该说到,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框架的简单使用完成。

内容中是一个实列,如要用到自己的项目里还需简单修改。

猜你喜欢

转载自blog.csdn.net/qq_41857764/article/details/85267879