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. HDU1556(树状数组)

    Color the ball Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  2. Android开发知识体系总结

  3. js立即执行函数: (function ( ){...})( ) 与 (function ( ){...}( ))

    ( function(){…} )() ( function (){…} () ) 是两种javascript立即执行函数的常见写法,最初我以为是一个括号包裹匿名函数,再在后面加个括号调用函数,最后达 ...

  4. Iterator——迭代接口

    迭代对于JAVA的来说绝对不陌生.我们常常使用JDK提供的迭代接口进行Java集合的迭代. Iterator iterator = list.iterator(); while(iterator.ha ...

  5. Git合并分支命令:git merge --ff

    今天研究了一下git merge命令常用参数,并分别用简单的例子实验了一下,整理如下: 输入git merge -h可以查看相关参数: --ff  快速合并,这个是默认的参数.如果合并过程出现冲突,G ...

  6. 读书笔记 effective c++ Item 8 不要让异常(exceptions)离开析构函数

    1.为什么c++不喜欢析构函数抛出异常 C++并没有禁止析构函数出现异常,但是它肯定不鼓励这么做.这是有原因的,考虑下面的代码: class Widget { public: ... ~Widget( ...

  7. C#有关虚方法要知道的知识点:

    虚方法:这个方法其实就是为了重写方法而存在的(在声明中包含virtual关键字),否则没感觉到它存在的意义. 其一:因为要重写所以它的访问类型如果为private则毫无意义阻碍了重写动作的进行也就是它 ...

  8. 纯css 构造的tip

    css部分: <style>   .abc{ margin-top:20px; } span{ position:relative; display: inline-block; back ...

  9. css3动画animate

    CSS3 动画 通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片.Flash 动画以及 JavaScript. @keyframes 定义动画关键帧: @keyframes anima ...

  10. 使用scp命令,不同服务器之间拷备文件

    使用scp命令,不同服务器之间拷备文件 先将源服务器,目标服务器安装scp服务 yum -y install openssh-clients 命令格式 scp source dist usage: s ...