mybatis基础学习1---(配置文件和sql语句)
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语句)的更多相关文章
- MyBatis学习 之 二、SQL语句映射文件(2)增删改查、参数、缓存
目录(?)[-] 二SQL语句映射文件2增删改查参数缓存 select insert updatedelete sql parameters 基本类型参数 Java实体类型参数 Map参数 多参数的实 ...
- MyBatis学习 之 二、SQL语句映射文件(1)resultMap
目录(?)[-] 二SQL语句映射文件1resultMap resultMap idresult constructor association联合 使用select实现联合 使用resultMap实 ...
- MyBatis一次执行多条SQL语句
MyBatis一次执行多条SQL语句 有个常见的场景:删除用户的时候需要先删除用户的外键关联数据,否则会触发规则报错. 解决办法不外乎有三个:1.多条sql分批执行:2.存储过程或函数调用:3.sql ...
- mybatis基础学习4---懒加载和缓存
1:懒加载 1)在主配置文件设置(要放在配置文件最前面) <!-- 延迟加载配置,两个都必须同时有 --> <settings> <!-- lazyLoadingEnab ...
- Mybatis 系列9-强大的动态sql 语句
[Mybatis 系列10-结合源码解析mybatis 执行流程] [Mybatis 系列9-强大的动态sql 语句] [Mybatis 系列8-结合源码解析select.resultMap的用法] ...
- Mybatis 删除多条数据XML SQL语句删除
Mybatis 删除多条数据XML SQL语句删除 1.删除多条数据SQL写法 <delete id="deleteParamsByIds"> delete from ...
- mybatis基础学习5---懒加载和缓存
1:懒加载 1)在主配置文件设置(要放在配置文件最前面) 1 <!-- 延迟加载配置,两个都必须同时有 --> <settings> 3 <!-- lazyLoading ...
- MyBatis学习总结_11_MyBatis动态Sql语句
MyBatis中对数据库的操作,有时要带一些条件,因此动态SQL语句非常有必要,下面就主要来讲讲几个常用的动态SQL语句的语法 MyBatis中用于实现动态SQL的元素主要有: if choose(w ...
- MyBatis学习 之 三、SQL语句映射文件(2)增删改查、参数、缓存
2.2 select 一个select 元素非常简单.例如: <!-- 查询学生,根据id --> <select id="getStudent" paramet ...
随机推荐
- JS加载相对路径脚本的方法 - 汇总
js加载脚本的方式有很多,但是各有各的用途. 最近公司https项目改造,对于资源文件这一块,也是遇到一些问题,现在就来总结一下,怎样改造https的脚本吧~! 方法1.借助服务端语言如PHP,输入当 ...
- C++从string中删除所有的某个特定字符
C++中要从string中删除所有某个特定字符, 可用如下代码 str.erase(std::remove(str.begin(), str.end(), 'a'), str.end()); 其中, ...
- Condition源码分析
转:http://www.nbtarena.com/Html/soft/201308/2429.html Condition的概念 大体实现流程 I.初始化状态 II.await()*作 III.si ...
- BOM数据基础 - Mobox物料编码管理及实现
1 企业现状 在企业日常经营过程中会产生大量的文档,如设计图纸.变更单.计算书.设计方案等,如果是制造企业还会产生大量的产品.组成产品的零部件等物料,这些数据在进入信息系统前都需要有一个唯一的标识,也 ...
- 源码(03) -- java.util.Collection<E>
java.util.Collection<E> 源码分析(JDK1.7) -------------------------------------------------------- ...
- TimSort算法分析
Timsort是一种混合稳定的排序算法,采用归并排序混合插入排序的设计,在多种真实数据上表现良好. 它基于一个简单的事实,实际中大部分数据都是部分有序(升序或降序)的. 它于2002年由Tim Pet ...
- ArcGIS制图表达Representation-制图表达原理
ArcGIS制图表达技术-制图表达原理 by 李远祥 在讲述原理之前,需要对上一章内容进行一些必要的补充说明.既然制图表达有很多优势,是不是什么情况下都可以使用制图表达技术呢?如果有以下的一些特殊的要 ...
- 2017<java技术>预备作业计科冀浩然
1.阅读邹欣老师的博客,谈谈你期望的师生关系是什么样的? 我期望的师生关系是相互融洽的,老师能够在上课的时候尽量多的教我们专业知识,可以尽量多和我们进行互动,课下能和我们如同朋友一般就可以了. 2.你 ...
- hushset的实现原理
实现源码 public HashSet() { map = new HashMap<>(); } 这里可以看见当我们new一个hashset时,实际上hashset类又创建了一个hashm ...
- Storyboard 自定义转场动画
在storyboard中,segue有几种不同的类型,在iphone和ipad的开发中,segue的类型是不同的.在iphone中,segue 有:push,modal,和custom三种不同的类型, ...