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. json基础教程|理解Json

    一. 在异步应用程序中发送和接收信息时,可以选择以纯文本和 XML 作为数据格式.这一期讨论一种有用的数据格式 JavaScript Object Notation(JSON),以及如何使用它更轻松地 ...

  2. substring和substr、$.extend()、$.fn.extend()、(function($){….})(jQuery)的简易讲解

    1.    JS中substring与substr的区别 Substring: 该方法可以有一个参数也可以有两个参数. l  一个参数: 示例: var str="Olive": ...

  3. bootstrap table编辑操作的时候 在模态框里加载iframe页面(加载的页面是在另一个页面做编辑)的时候如何关闭模态框和刷新table

    //关闭模态框                             window.parent.$('#myModal').modal('hide'); //修改成功后刷新table表格      ...

  4. TCP/IP 协议族的简介

    TCP/IP重要的特性就是分层.TCP/IP 按照层次分为四层:应用层.传输层.网络层.数据链路层.分层的好处就是当某些地方需要改变的时候,只需要将改变的层替换掉即可,而不用去把整体做替换.各层之间的 ...

  5. css3 3D变形 入门(一)

    css3 3D.html div.oembedall-githubrepos { border: 1px solid #DDD; list-style-type: none; margin: 0 0 ...

  6. 利用nodejs监控文件变化并使用sftp上传到服务器

    很久没写博客了,因为最近在用react+express做一个自己的工具型网站(其实就是夺宝岛抢拍器) 然后因为经常要改动,而且又要放到服务器上进行测试.总是要webpack,然后手动把文件上传上去,不 ...

  7. C#用DesignSurface实现一个简单的窗体设计器

    System.ComponentModel.Design.DesignSurface是为设计组件提供一个用户界面,通过它可以实现一个简单的窗体设计器. 在构建之前,我们需要引入System.Desig ...

  8. c语言中,有符号数位移

    #include <stdio.h> int main(void) { unsigned i = 0xcffffff3; long j=0xcffffff3; int k=0xcfffff ...

  9. block循环饮用解决

    在block中使用self会引起循环引用导致无法释放. 解决: __weak typeof(self) weakSelf = self; 例如: NSLog(@"init--> val ...

  10. SQL Server 2008R2 企业版 百度云下载地址

    SQL Server 2008R2 (百度云下载地址:链接: http://pan.baidu.com/s/1mi34II8 密码: yc1w)   ASP.NET MVC4.0+ WebAPI+Ea ...