zoukankan      html  css  js  c++  java
  • mybatis学习笔记一

    一、创建映射文件

    映射文件的命名:

    User.xml(ibatis原始的命名) mapper代理开发映射文件名称叫XxxMapper.xml 比如:UserMapper.xml

    在映射文件中配置sql语句

    User.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">
    <!-- 命名空间作用就是对sql进行分类化管理 理解sql隔离
        注意:如果使用mapper代理的方法开发的化 这里的namespace有特殊重要的作用的
         -->
    <mapper namespace="test">
        <!-- 在映射文件中需要配置很多的sql语句 -->
        <!-- 需求:通过id查询用户表的记录 -->
        <!-- 通过select执行数据库查询
        id:标示映射文件中的sql 
        将sql语句封装到mappedStatement对象中 ,所以称为statement的id
        parameterType 指定输入参数的类型 这里指定为int 是因为数据库中id就是int型的
        #{} 表示占位符 相当于?
        #{id} 其中的id表示接收输入的参数 参数名就是id,如果输入的参数是简单类型 #{}中的参数名可以是任意的 建议与数据库中字段名称一致
        resultType 指定sql输出结果所映射的java对象类型 .select指定resultType表示单条记录映射的对象。
         -->
        <select id="findUserById" parameterType="int" resultType="com.mybatis.po.User">
            select * from USER WHERE id=#{id}
        </select>
    </mapper>

    配置完映射文件之后还需要在SqlMapConfig.xml文件中配置加载我们的User.xml

    SqlMapConfig.xml文件

    <?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>
    <!-- 和spring整合后 environments将废除 -->
        <environments default="development">
            <environment id="development">
            <!-- 使用JDBC事务管理,事务控制由mybatis -->
                <transactionManager type="JDBC"/>
                <!-- 数据库连接池,由mybatis -->
                <dataSource type="POOLED">
    <!-- 这里数据库驱动的类名最好是复制,之前写错了大小写,找了半天才发现是类名写错了,导致连接不上数据库 -->
    <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8"/> <property name="username" value="root"/> <property name="password" value=""/> </dataSource> </environment> </environments> <mappers> <mapper resource="sqlmap/User.xml"/> </mappers> </configuration>
  • 相关阅读:
    vue定义data的三种方式与区别
    利用Python开发App实战
    序列化:ProtoBuf 与 JSON 的比较 !
    年轻人不讲武德,where 1=1 是什么鬼?
    Java 生成随机数的 5 种方式,你知道几种?
    卸载 Navicat!事实已证明,正版客户端,它更牛逼……
    MySQL大表优化方案
    鹅厂是如何使用 Git 的?
    灵魂一问:一个TCP连接可以发多少个HTTP请求?
    新来的老大说,“公司以后禁止使用Lombok”,我表示反对~
  • 原文地址:https://www.cnblogs.com/mrluotong/p/5831944.html
Copyright © 2011-2022 走看看