mybits_基础

1.框架:一款半成品软件,我们可以基于框架继续开发,从而完成一些个性化的需求

2.ORM:对象关系映射,数据和实体对象的映射

3.MyBatis:是一个优秀的基于Java的持久层框架,它内部封装了JDBC

4.入门步骤:

  导入jar包

  编写映射配置文件

  编写核心配置文件

  使用相应的API来完成编码

5.映射配置文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="userMapper">
    <select id="selectAll" resultType="org.example.Bean.userBean">
        select *from user
    </select>
    <insert id="insert" parameterType="org.example.Bean.userBean">
        insert into user values(#{username},#{password},#{leixing},#{ids})
    </insert>

</mapper>

6.核心文件配置

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
    <environment id="development">
        //事务管理 type属性,采用jdbc默认的事务
        <transactionManager type="JDBC"></transactionManager>
        //数据源信息 type属性 连接池
        <dataSource type="POOLED">
            //获取数据库连接的配置信息
            <property name="driver" value="com.mysql.jdbc.Driver"></property>
            <property name="username" value="root"/>
            <property name="password" value="123456"/>
            <property name="url" value="jdbc:mysql://localhost:3306/test"/>
        </dataSource>
    </environment>
</environments>
    <mappers>
        //引入指定的映射配置文件 resource属性指定映射配置文件
        <mapper resource="userMapper.xml"></mapper>
    </mappers>
</configuration>

7.mybatis 接口代理方式实现Dao层

实现规则:

  1.映射配置文件中的名称空间必须和Dao层接口的全类名相同

  2.映射配置文件中的增删改查标签的id属性必须和Dao层接口的方法名相同

  3.映射配置文件中的增删改查的parameterType属性必须和Dao层接口方法的参数相同

  4.映射文件中的增删改查标签的resultType属性必须和Dao方法的返回值相同

获取动态代理对象:

  SqlSession.getMapper方法获取

8.动态sql

查询中的where if标签(多条件查询)

<select id="selectCondition" resultType="org.example.Bean.userBean" parameterType="org.example.Bean.userBean">
    select *from user
    <where>
        <if test="ids!=null">
            ids=#{ids}
        </if>
        <if test="username!=null">
            and username=#{username}
        </if>
        <if test="password!=null">
            and password=#{password}
        </if>
    </where>
</select>

查询中的where in标签(多个id查询)

</select>

<select id="selectById" resultType="org.example.Bean.userBean" parameterType="list">
    select *from user
    <where>
        <!-- collection 参数容器类型
         open:开始
         close:结束
         item:参数变量名
         separator:分隔符-->
        <foreach collection="list" open="ids in("   close=")" item="ids" separator=",">
            #{ids}
        </foreach>
    </where>

</select>

sql:片段抽取

<sql id="select">select *from user</sql>
<select id="selectAll" resultType="org.example.Bean.userBean">
    <include refid="select"></include>
</select>

将select *from user 这个语句抽取出来 id设为select为唯一标识

用<include>标签来调用

posted @ 2023-02-01 01:44  会秃头的小白  阅读(209)  评论(0编辑  收藏  举报