1:配置文件(主要配置文件)

2:配置文件(引入)

3:sql语句解析:

<mapper namespace="/">
<!-- 1 -->根据id查对象
<select id="findById" parameterType="int" resultType="jike.book.pojo.JiKeUser">
select *
from jikeUser where id=#{id}
</select>
<!-- 1 -->
<!-- 2 -->插入对象
<insert id="insertUser" parameterType="JiKeUser" statementType="PREPARED"
keyProperty="id" useGeneratedKeys="true">
insert into JikeUser
(userName,password) values
(#{userName},#{password})
</insert>
<!-- 2 -->
<!-- 3 -->更改对象
<update id="updateUser" parameterType="JiKeUser">
UPDATE JiKeUser SET
userName=#{userName},
password=#{password}
WHERE id = #{id}
</update>
<!-- 3 -->
<!-- 4 -->登录选择
<select id="loginSelect" resultType="JiKeUser" parameterType="hashmap">
select * from JikeUser where userName=#{userName} and
password=#{password}
</select>
<!-- 4 -->
<!-- 5 -->登录选择
<select id="login2" resultType="JiKeUser" parameterType="JiKeUser">
select *
from JikeUser where userName=#{userName} and password=#{password}
</select>
<!-- 5 -->
<!-- 6 -->对象列表查询
<select id="selectJiKeUserList" resultType="JiKeUser">
select * from
JikeUser
</select>
<!-- 6 -->

<!-- 7 --><!--和下面有联系-->
<resultMap id="JiKeUserMap" type="JiKeUser">
<id property="id" column="id" />
<result property="userName" column="userName" />
<result property="password" column="password" />
</resultMap>
<!-- 7 -->

<!-- 8 -->对象Map查询<!--和上面有联系-->
<select id="selectUsers" resultMap="JiKeUserMap">
select id, userName, password
from JiKeUser
</select>
<!-- 8 -->
</mapper>

----------------------------------------------------------------------------------------------------------------

4:mybatis的sql语句区分大小写

例:

select * from JikeUser where userName=#{userName} and
password=#{password}

大括号里的字段必须和Bean定义的字段大小写一致(因为靠java的setter传值)。外面的字段要和建表字段一致(如下图)

---------------------------------------------------------------------------------------------------------------------

5:mybatis配置文件引入。(下面类和包引用写反了)

直接引用xml文件

<mappers>  
     <mapper resource="com/yu/res/UserMapper.xml" />  
</mappers>

通过绝对路径引用,注意在绝对路径前加上:“file:///”

<mappers>  
     <mapper url="file:///D:/workspace/mywork/MyBatis/src/com/yu/res/UserMapper.xml"/> 
</mappers>

引用mapper接口对象的方式:

<mappers>  
     <mapper resource="com.yu.mapper.UserMapper" />  
</mappers>

引用mapper接口包的方式:

<mappers>  
     <package name="com.yu.mapper"/>
</mappers>

6:包定义注意事项比较

引入主配置文件(MyBatisConfig.xml)要加包名

----------------------------------------------------------------------------------------------------------------------

主配置文件引其他配置文件也要加包名

=============================================================

mybatis基础学习1---(配置文件和sql语句)的更多相关文章

  1. MyBatis学习 之 二、SQL语句映射文件(2)增删改查、参数、缓存

    目录(?)[-] 二SQL语句映射文件2增删改查参数缓存 select insert updatedelete sql parameters 基本类型参数 Java实体类型参数 Map参数 多参数的实 ...

  2. MyBatis学习 之 二、SQL语句映射文件(1)resultMap

    目录(?)[-] 二SQL语句映射文件1resultMap resultMap idresult constructor association联合 使用select实现联合 使用resultMap实 ...

  3. MyBatis一次执行多条SQL语句

    MyBatis一次执行多条SQL语句 有个常见的场景:删除用户的时候需要先删除用户的外键关联数据,否则会触发规则报错. 解决办法不外乎有三个:1.多条sql分批执行:2.存储过程或函数调用:3.sql ...

  4. mybatis基础学习4---懒加载和缓存

    1:懒加载 1)在主配置文件设置(要放在配置文件最前面) <!-- 延迟加载配置,两个都必须同时有 --> <settings> <!-- lazyLoadingEnab ...

  5. Mybatis 系列9-强大的动态sql 语句

    [Mybatis 系列10-结合源码解析mybatis 执行流程] [Mybatis 系列9-强大的动态sql 语句] [Mybatis 系列8-结合源码解析select.resultMap的用法] ...

  6. Mybatis 删除多条数据XML SQL语句删除

    Mybatis 删除多条数据XML SQL语句删除 1.删除多条数据SQL写法 <delete id="deleteParamsByIds"> delete from ...

  7. mybatis基础学习5---懒加载和缓存

    1:懒加载 1)在主配置文件设置(要放在配置文件最前面) 1 <!-- 延迟加载配置,两个都必须同时有 --> <settings> 3 <!-- lazyLoading ...

  8. MyBatis学习总结_11_MyBatis动态Sql语句

    MyBatis中对数据库的操作,有时要带一些条件,因此动态SQL语句非常有必要,下面就主要来讲讲几个常用的动态SQL语句的语法 MyBatis中用于实现动态SQL的元素主要有: if choose(w ...

  9. MyBatis学习 之 三、SQL语句映射文件(2)增删改查、参数、缓存

    2.2 select 一个select 元素非常简单.例如: <!-- 查询学生,根据id --> <select id="getStudent" paramet ...

随机推荐

  1. JUC学习笔记--JUC中并发工具类

    JUC中并发工具类 CountDownLatch CountDownLatch是我目前使用比较多的类,CountDownLatch初始化时会给定一个计数,然后每次调用countDown() 计数减1, ...

  2. [C#]为微软ASP.NET官方教学视频增加字幕

    前言 Microsoft Virtual Academy提供了学习ASP.NET的大量视频材料.(注1) 由于视频服务器位于海外,国内浏览速度并不理想,幸好官方提供了视频的下载地址以及英文字幕文件. ...

  3. 《JAVASCRIPT高级程序设计》客户端检测

    web开发的理想状态之一是浏览器支持一组最常用的功能,但是在现实情况下,浏览器间的差异非常大,因此,为了兼容大部分的了浏览器,开发人员首先需要设计最通用的方案,然后再使用客户端检测的技术增强该方案.客 ...

  4. .Net程序员学用Oracle系列(15):DUAL、ROWID、NULL

    1.DUAL 表 2.ROWID 类型 2.1.利用 ROWID 查询数据 2.2.利用 ROWID 更新数据 3.NULL 值 3.1.NULL 与空字符串 3.2.NULL 与函数 3.3.NUL ...

  5. Android注解学习(2)

    最近考试周没什么时间写,回归正题.前面的一次简单的讲了关于注解的的基础部分,这一次分析xutils注解封装的源码(奉上github源码). 补充下:xUtils 2.x对Android 6.0兼容不是 ...

  6. https post

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...

  7. ConOS安装mysql5.7 及简单配置

    安装 保证你的用户有权限 安装  没有 切换 root su root  (su的意思:swich user) # rpm -ivh http://dev.mysql.com/get/mysql57- ...

  8. 在vim中搜索单词

    基本的搜索: /pattern    向前搜索 ?pattern   向后搜索 n               向前重复搜索 N               向后重复搜索 搜索并替换 :%s/sear ...

  9. Asp.Net Core 项目实战之权限管理系统(8) 功能菜单的动态加载

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  10. ROM及其他知识

     ROM--Read Only Memory 中文意思是:只读存贮器  以前的游戏机用的都是卡带,里面是一块或几块集成电路芯片,游戏程序就是在生产厂家一次性写入这几块芯片,以后用户玩游戏的时候只能读出 ...