MyBatis

为了解决JDBC缺点:业务代码和sql语句混在一起----解耦合、用起来太麻烦---专注sql语句编写

MyBatis可以:1)注册驱动 2)创建JDBC中使用的Connection、Statement、ResultSet 3)执行sql语句 4)处理ResultSet,把记录集中的数据转为Java对象,把该对象放入List集合

使用MyBatis:

  1. 使用 Maven 来构建普通Java项目,则需将MyBatis依赖、mysql驱动的依赖、maven插件放到pom.xml 文件中      
    拷贝路径XML的插件
    <build>
        <resources>
            <resource>
            <directory>src/main/java</ 所在的目录 ---->
            < 包括目录下的 .properties,.xml 文件都会扫描到 ---->
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
            </resource>
        </resources>
    </plugins>

  2. 创建实体类(与表对应),属性名和数据库表的列名保持一致,生成属性对应的set、get方法
  3. 创建操作数据库的Dao接口,定义操作数据库的方法
    1. 创建接口:XxxDao
    2. 定义方法:定义操作----数据库表对应的对象(根据实体类创建的对象)的接口方法
  4. 在接口同目录下创建XML文件(mapper文件,写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">       <!--.dtd约束文件:定义和显示当前文件可以使用的标签、属性等-->   
    <mapper namespace="Dao接口的全名">     <!--mapper根标签,必须有值namespace命名空间:值推荐是Dao接口的全名,是参与识别sql语句的-->
      
    
      <!--写insert语句-->
      <insert> 
      <!--写update语句-->
      <update> 
      <!--写delete语句-->
      <delete>                       
      <!--写select语句-->
      <select> 
    
          
    
      <!--执行SQL语句,把结果转成resultType对应的类型的对象(由框架通过反射机制创建resultType对应的类型的对象,把数据库中表的列赋值给与对象对象同名的属性)-->
      <select id="要执行的sql语句的唯一标识,推荐dao接口的方法名" parameterType="指定参数类型" resultType="告诉MyBatis执行语句后把数据赋值给哪个类型的Java对象(即步骤2的实体类),推荐用Java全类名">
        <!--SQL语句,  #{变量}是--执行sql语句是传入的实参-->
        select * from Blog where id = #{id}             
      </select>
    
    
       <resultMap id="唯一值" type="执行SQL返回的Java类型全限定名称">
           <!--自定义列名和属性名的对应-->
           <!--主键类型使用id标签-->
           <id column="表的列名" property="返回对象的属性值"/>
           <!--非主键类型使用result标签-->
           <result column="表的列名" property="返回对象的属性值"/>
           <!--属性名和列名一致不用定义-->
       </resultMap>
       <select id="" resultMap="resultMap标签的id">
           select * from Blog where id = #{id}             
       </select>
    </mapper>
    
    

  5. 创建MyBatis的主配置文件XML,只有一个,放到resources目录下:
    1. 获取数据库连接实例的数据源
    2. 指定其他mapper文件的位置
      <?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>
      
        <!--设置日志功能-->
        <settings>
          ...
          <!--设置日志方式:SLF4J、LOG4J、LOG4J2、JDK_LOGGING、COMMONS_LOGGING、STDOUT_LOGGING、NO_LOGGING-->
          <setting name="logImpl" value="日志方式"/>     
          ...
        </settings>
      
        <!--声明别名-->
        <typeAliases>
          <!--定义一个别名,方式一      type属性:Java全限定名称 alias属性:自定义别名-->
          <typeAlias type="全限定名" alias="别名">
          <!--定义一个别名,方式二   (不区分大小写)  该包的下的类名就是别名-->
          <package name="包名" >
        </typeAliases>
      
      
        <environments default="development">
          <environment id="development">
            <transactionManager type="JDBC"/>
      
            <!--配置数据源:依赖创建连接对象Connection的-->
            <dataSource type="POOLED">  
              <!--driver:驱动类   相当于注册驱动-->
              <property name="driver" value="com.mysql.jdbc.Driver"/>
              <!--连接数据库的url-->
              <property name="url" value="
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值