Mybatis学习笔记(一)

注:Mybatis版本 3.4.5

1.引入jar包
引入jar包

2.创建配置文件mybatis-config.xml
创建配置文件

3.配置配置文件

<?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>
    <!-- 从文件中读取数据库配置 -->
    <!-- 此处读取文件是从src目录下开始的,可以放在自己新建的文件夹下如 config/myconfig/jdbc.properties -->
    <properties resource="jdbc.properties"/>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
            <!-- 对应 jdbc.properties 中的字段 -->
                <property name="driver" value="${jdbc.driver}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.user}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <!-- sql映射文件 -->
        <mapper resource="sqlMapper.xml" />
    </mappers>
</configuration>

4.创建sql映射文件[DomainName]Mapper.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="xxxxxxxxx">
  <select id="selectAll" resultType="com.zm.domain.Student">
    select 
        <!-- 字段名要对应javabean 如果不一致就要用别名来保持一致 -->
        <!-- 如 id as sId -->
        id,name,age
    from 
        tbl_student
  </select>

  <delete id="deleteById">
    delete 
        from
            tbl_student
        where 
            id=#{id}
  </delete>

  <select id="selectById" resultType="com.zm.domain.Student">
    select 
        id,name,age
    from 
        tbl_student
    where
        id=#{id}
  </select>

  <insert id="addStudent" parameterType="com.zm.domain.Student">
    insert into
        tbl_student
    (id,name,age) values (#{id},#{name},#{age})
  </insert>

  <update id="updateStudent" parameterType="com.zm.domain.Student">
    update
        tbl_student
            set name=#{name},age=#{age}
        where
            id=#{id}
  </update>
</mapper>

注:
(1) CRUD 对应相应的标签
如果parameterType为17种简单类型,则可以省略(17种简单类型为8种基本数据类型以及对应的封装类加上String)
(2) 占位符使用#{ }
如果sql种只用到了一个占位符,则内容可以随意写,但是规范起见,还是按格式来
占位符中的字段要与javabean中的字段一致,mybatis会自动把首字母大写,前面加上get,比如#{id}则会调用getId()

6.调用方法

try {
    String resource = "mybatis-config.xml";
    InputStream inputStream = Resources.getResourceAsStream(resource);
    //创建SqlSessionFactory 
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    //创建SqlSession 开启会话
    SqlSession sqlSession = sqlSessionFactory.openSession();
    //接收数据
    List<Student> sList = new ArrayList<>();
    //查多个 还有selectOne insert delete update 方法,其他看api
    //注意 参数是对应的映射文件中的mapper的id
    sList = sqlSession.selectList("selectAll");
    //提交事务
    sqlSession.commit();
} catch (Exception e) {
    //事务回滚
    if (sqlSession != null) {
        sqlSession.rollback();
    }
    e.printStackTrace();
} finally{
    //关闭会话
    if (sqlSession != null) {
        sqlSession.close();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值