Mybatis开发搭建

mybatis框架配置开发的基本步骤

新创建一个javaweb项目,然后执行下面的步骤:

在这里插入图片描述



一、导入对应的jar包

在这里插入图片描述
因为这里使用的是mysql数据库,如果选择其他数据库。需要导入对应的jar包

二、配置mybatis-config.xml配置文件
      配置一些必要的标签,这些标签的顺序是有规定的,需要按照规定的顺序来书写。更多标签使用教程可以到 http://www.mybatis.org/mybatis-3/zh/index.html    
      数据库连接池有两种写法:
  1. 直接写在dataSource里面,如:
  2. 创建外部properties文件进行引入,如下database.properties文件
jdbc.driver=com.mysql.jdbc.Driver   //连接数据库的驱动
jdbc.url=jdbc:mysql://localhost:3306/book_db?useUnicode=true&characterEncoding=UTF-8  //book_db是数据库的名称  后面的设置编码格式
jdbc.username=root        //用户名
jdbc.password=6112783king    //用户密码

创建mybatis-config.xml文件,并导入database.properties文件

<?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="Mapper/database.properties"/>
    
    <!-- (1)配置环境 -->
    <environments default="develoment">
        <environment id="develoment">
            
            <!-- (2)配置事务管理器 -->
            <transactionManager type="JDBC"></transactionManager>
            
            <!-- (3)配置数据库连接池 -->
            <dataSource type="POOLED">    <!--数据库连接池的配置,也可以直接写在这里文件里面:如下写法-->

                <property name="driver" value="${jdbc.driver}"/> 
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>  <!--使用properties文件,调用是的格式 ${}-->
                <property name="password" value="${jdbc.password}"/>

            </dataSource>

        </environment>
    </environments>
   
    <!-- (4)配置mapper映射 -->    
<!-- 数据库映射文件的“全包名路径”    在下面会创建sql.xml的映射文件-->
<mappers> 
  <mapper resource="Mapper/sql.xml"/>
 </mappers> 
</configuration>

注意:

     mapper映射文件的配置有4个方法:

  1. 绝对路径配置  
  2. 相对路径  
  3. 接口引入  
  4. package引入  

     后面两种方法需要满足条件:需要对应的mapper.xml与接口mapper处于同一包下才可以,

     且xml文件名与接口名要相同,xml文件中的namespace必须是对应接口的全包名

三、创建实体类

       为了方便实现,实体类中的属性类型和名称,应该和数据库表中的分别对应。创建的是标准的类。需要提供get、set方法。这里创建的是Admin.java实体类

四、创建mapper接口方法

       主要是用来封装需要实现的方法的接口。这里是mapperWays.java类

public interface mapperWays {
    
    public Admin getAdmin(String name);  //封装的方法
}

五、创建SqlSession工厂类

       因为mybatis都需要SqlSessionFactory来实例的,所以对这个操作进行一个封装,方便以后的使用, 这里创建sqlSessionFactory.java类。
       注意:这里面的openSession对象开启事务。为true:自动开启事务。或者,使用commit()方法进行开启事务。

public class sqlSessionFactory {

    //(1)创建SqlSessionFactory
    private static SqlSessionFactory factory;
  
    //保证代码只创建一个次
    static{
        try {
            //(2)使用IO流进行获取mybatis_config.xml配置文件
            InputStream is = Resources.getResourceAsStream("Mapper/mybatis_config.xml");
          
       //(3)获取到SqlSessionFactory 对象
            factory = new SqlSessionFactoryBuilder().build(is);
        
        } catch (IOException e) {
            e.printStackTrace();
        } 
    }
    
    public static SqlSession createSqlSession(){  //使用openSession()获取到SqlSession 对象
        
        return factory.openSession(false);
    }
    
    public static void closeSqlSession(SqlSession sqlSession){//关闭流的方法
        
        if(null != sqlSession) 
            sqlSession.close();
    }
}

六、创建sql.xml映射文件

       主要是用来书写与数据库操作相关的sql语句。

       mapper的开发也有两种:

  1. 基本开发:
    mapper中没有具体的要求,namespace、id 都可以随便写一个名称,用来标识调用。
  2. mapper动态开发:
    动态开发需要遵守几个条件,
    (1)namespace:存入接口类的包路径
    (2)Id:存入是接口中方法的名称
    (3)parameterType:存入方法的参数
    (4)resultType:存入方法返回值的类型
<?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="mm">  <!--如果:使用mapper动态开发,则需要改掉namespace="dao.mapperWays"-->
    
  <!---如果使用mapper动态开发, id 也要和接口中的方法名一致 id="getAdmin"-->
    <select id="getadmin" parameterType="String" resultType="dao.Admin"> 
        
        select *    <!-- 进行sql语句的书写 -->
        from admin
        where username = #{name}
        
    </select>
</mapper>

 
七、创建mapper接口类的实现类

       只使用mybatis的开发,需要创建实现类开发。以后的spring框架等结合,就不需要进行实现类的创建

public class mapperWaysImpl implements mapperWays {

    @Override
    public Admin getAdmin(String name) {
        
        SqlSession sql = null;  
        Admin admin = null;    
        
        try {
            
      //使用“类.方法”的方式。创建SqlSession对象
            sql = sqlSessionFactory.createSqlSession();  

      //这种是基本的mapper配置方法。调用的时候,使用 namespace + id 进行调用
       admin = sql.selectOne("mm.getadmin",name); 
       
       //这是动态mapper开发。使用(接口类.class).接口方法。 调用
           //admin = sql.getMapper(mapperWays.class).getAdmin(name);

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            sqlSessionFactory.closeSqlSession(sql);  //关闭流
        }
        return admin;
    }
}

基本的mybatis配置开发就配置好了。可以实例化实现类,调用方法,就可以测试。

还有很多详细的知识,可以参考官网http://www.mybatis.org/mybatis-3/zh/index.html

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值