Dao.xml或者说是mapper.xml一个意思 id:方法名,相当于这个配置是对于某个方法的实现 ,参数类型不用写,()也不用写 resultType:指定方法运行后的返回值类型全类名:(查询操作必须指定的) <!--   public Employee getEmpById(Integer id); --> 但是以下情况不写resultType属性 <!--    public int updateEmployee(Employee employee); --> <!-…
MyBatis入门 1.MyBatis前身是iBatis,是Apache的一个开源项目,2010年这个项目迁移到了Google Code,改名为MyBatis,2013年迁移到GitHub.是一个基于DAO层ORM框架      ORM:Object Relational Mapping 对象关系映射 在mybatis中指的是sql语句与实体类之间的映射 2.MyBatis的优缺点优点:减少代码量,小巧并且简单易学,SQL语句从程序代码中彻底分离,降低耦合度,便于管理和优化,并可重用,支持编写动…
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------…
二:SQL映射文件 1.SQL映射文件: (1)mapper:映射文件的根元素节点,只有一个属性namespace(命名空间) 作用:用于区分不同的mapper全局唯一 绑定dao接口即面向接口编程,当namespace绑定某一个接口之后可以不用谢该接口的实现类,namespace的命名必须和接口名相同 (2)cache:配置给定命名空间缓存. (3)cache-ref:从其他命名空间引用缓存配置 (4)resultMap:用来描述数据库的结果集和对象的对应关系. (5)sql:可以重用SQL块…
简介 除了配置相关之外,另一个核心就是SQL映射,MyBatis 的真正强大也在于它的映射语句. Mybatis创建了一套规则以XML为载体映射SQL 之前提到过,各项配置信息将Mybatis应用的整体框架搭建起来,而映射部分则是准备了一次SQL操作所需的信息 一次SQL执行的主要事件是什么? 输入参数解析,绝大多数SQL都是需要参数的 SQL,通过SQL与数据库交互,所以最根本的是SQL,如果连SQL都没有,还扯个蛋蛋? 结果映射,Mybatis可以帮我们完成字段与Java类型的映射 所以说S…
1:SQL映射文件 MyBatis真正强大之处就在于SQL映射语句,相对于强大的功能,SQL映射文件的配置非常简单,与JDBC相比减少了50%的代码.下面是关于SQL映射文件的几个顶级元素配置 mapper: 用于区分不同的mapper,全局唯一 绑定DAO接口,即面向接口编程 cache:配置给定命名空间的缓存 cache--ref:从其他命名空间引用缓存配置 resultMap:用来描述数据库结果集和对象的对应关系 sql:可以重用SQL块,也可以被其他语句引用 insert:映射插入语句…
1.Hibernate映射文件Xxx-hbm.xml ①POJO 类和关系数据库之间的映射可以用一个XML文档来定义.通过 POJO 类的数据库映射文件,Hibernate可以理解持久化类和数据表之间的对应关系,也可以理解持久化类属性与数据库表列之间的对应关系,在运行时 Hibernate 将根据这个映射文件来生成各种 SQL 语句,映射文件的扩展名为 .hbm.xml ②每个Hibernate-mapping中可以同时定义多个类. 但更推荐为每个类都创建一个单独的映射文件 ③各个元素说明:<h…
Mybatis sql映射文件浅析 Mybatis简介(三)   简介 除了配置相关之外,另一个核心就是SQL映射,MyBatis 的真正强大也在于它的映射语句. Mybatis创建了一套规则以XML为载体映射SQL 之前提到过,各项配置信息将Mybatis应用的整体框架搭建起来,而映射部分则是准备了一次SQL操作所需的信息 一次SQL执行的主要事件是什么? 输入参数解析,绝大多数SQL都是需要参数的 SQL,通过SQL与数据库交互,所以最根本的是SQL,如果连SQL都没有,还扯个蛋蛋? 结果映…
SSM框架下,mapper.xml 中 association 标签和 collection 标签的使用 当数据库中表与表之间有关联时,在对数据库进行操作时,就不只是针对某一张表了,需要联表查询 MyBatis中如何实现联表查询 1.首先新建两张表 学生表(student) ID:stu_id 姓名:stu_name 年龄:stu_age 性别:stu_gender 所在班级:g_id 班级表(grade) ID:g_id 班级名称:g_name 学生表和班级表通过 g_id 进行关联,一个班级…
Mybatis 的两个配置文件(mybatis-config.xml  和 xxxMapper.xml)都为 xml 类型,因此在 eclipse 中创建 xml 文件命名为相应的 mybatis-config.xml 或 xxxMapper.xml 即可.但是此时创建的 xml 文件达不到 Mybatis 配置文件的效果,运行必定报错找不到 URI.因为 Mybatis 配置文件头部包含了 URI 和 PUBLIC 等信息.因此我们先在 eclipse 中导入 Mybatis 两个配置文件各自…
MyBatis 真正的强大在于映射语句,相对于它强大的功能,SQL 映射文件的配置却是相当简单.对比 SQL 映射配置和 JDBC 代码,发现使用 SQL 映射文件配置可减少 50% 以上的代码,并且MyBatis 专注于SQL,对于开发人员来说,也可极大限度地进行 SQL 调优,以保证性能. SQL 映射文件的几个顶级元素(按照定义的顺序) ➣ mapper:映射文件的根元素节点,只有一个属性 namespace(命名空间) . namespace 作用如下 1.用于区别不同的 mapper,…
SQL映射文件 单条件查询 1. 在UserMapper接口添加抽象方法 //根据用户名模糊查询 List<User> getUserListByName(); 2. 在UserMapper.xml里添加SQL <!--根据用户名模糊查询--> <select id="getUserListByName" resultType="User" parameterType="String"> select * fr…
ylbtech-Java-MyBatis-MyBatis3-XML映射文件:XML映射文件 1. XML 映射文件 MyBatis 的真正强大在于它的映射语句,这是它的魔力所在.由于它的异常强大,映射器的 XML 文件就显得相对简单.如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码.MyBatis 为聚焦于 SQL 而构建,以尽可能地为你减少麻烦. SQL 映射文件只有很少的几个顶级元素(按照应被定义的顺序列出): cache – 对给定命名空间的缓存配置…
Mybatis SQL映射文件详解 mybatis除了有全局配置文件,还有映射文件,在映射文件中可以编写以下的顶级元素标签: cache – 该命名空间的缓存配置. cache-ref – 引用其它命名空间的缓存配置. resultMap – 描述如何从数据库结果集中加载对象,是最复杂也是最强大的元素. parameterMap – 老式风格的参数映射.此元素已被废弃,并可能在将来被移除!要求使用行内参数映射. sql – 可被其它语句引用的可重用语句块. insert – 映射插入语句. up…
 SQL映射文件的几个顶级元素 mapper - namespace cache - 配置给定命名空间的缓存 cache-ref – 从其他命名空间引用缓存配置 resultMap –用来描述数据库结果集和对象的对应关系 sql – 可以重用的SQL块,也可以被其他语句引用 insert – 映射插入语句 update – 映射更新语句 delete – 映射删除语句 select – 映射查询语句 注意:按照定义的顺序  mapper namespace:命名空间.(dtd) namespac…
MyBatis 真正的力量是在映射语句中. 和对等功能的jdbc来比价,映射文件节省非常多的代码量. MyBatis的构建就是聚焦于sql的. sql映射文件有例如以下几个顶级元素:(按顺序) cache配置给定命名空间的缓存. cache-ref从其它命名空间引用缓存配置. resultMap最复杂,也是最有力量的元素.用来描写叙述怎样从数据库结果集中来载入你的对象. parameterMap已经被废弃了!老式风格的參数映射. 内联參数是首选,这个元素可能在将来被移除. sql能够重用的SQL…
假设是使用oracle数据库.那么hibernate的映射文件.hbm.xml例如以下: <id name="xuehao" column="xuehao"> </id> 这个id不是数据库自己主动生成的,这须要注意:并且这些字段必须和实体类中相相应,实体类中还须要相应的get()方法和set()方法. 由于oracle数据库中的id都是自己主动生成的.所以这里不须要写数据库的id.这和MySQL数据库有非常大差别.另外,MySQL数据库建表…
MyBatis 真正的力量是在映射语句中.和对等功能的jdbc来比价,映射文件节省很多的代码量.MyBatis的构建就是聚焦于sql的. sql映射文件有如下几个顶级元素:(按顺序) cache配置给定命名空间的缓存. cache-ref从其他命名空间引用缓存配置. resultMap最复杂,也是最有力量的元素,用来描述如何从数据库结果集中来加载你的对象. parameterMap已经被废弃了!老式风格的参数映射.内联参数是首选,这个元素可能在将来被移除. sql可以重用的SQL块,也可以被其他…
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------…
POJO 类和关系数据库之间的映射可以用一个XML文档来定义. 通过 POJO 类的数据库映射文件,Hibernate可以理解持久化类和数据表之间的对应关系,也可以理解持久化类属性与数据库表列之间的对应关系 在运行时 Hibernate 将根据这个映射文件来生成各种 SQL 语句 映射文件的扩展名为 .hbm.xml 每个Hibernate-mapping中可以同时定义多个类. 但更推荐为每个类都创建一个单独的映射文件…
转自:https://blog.csdn.net/two_people/article/details/51759881 在学习mybatis的时候我们通常会在映射文件这样写: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/d…
前提:需要的包log4j.jar,mybatis-3.4.1.jar,mysql-connector-java-5.1.37-bin.jar 1.基本类 员工类 package com.hand.mybatis.bean; public class Employee {        private Integer eId;    private String eName;    private Integer gender;    private String email;    privat…
什么是 Mapper 映射文件 Mapper 映射文件是 Mybatis 用于实现 ORM 映射规则的配置文件,Mybatis 通过映射文件可将数据库查询结构映射为 Java 对象. 创建 Mapper 映射文件 在 Maven 工程的 resources 目录下创建 mappers 子目录,在 mappers 下创建一个 xxxxMapper.xml 映射文件,如下: <?xml version="1.0" encoding="UTF-8"?> <…
                                                                                                                     积少成多 ----  仅以此致敬和我一样在慢慢前进的人儿 问题: 如下面的代码中, 接口的方法中,传入两个参数 startIndex 和 pagasize, 直接编译文件,报错显示如下,说找不到 org.apache.ibatis.binding.BindingEx…
1.场景 1把钥匙带1把锁 JavaBean:private Lock lock;//当前钥匙能开哪个锁: 1). interface KeyDao: public Key getKeyByIdSimple(Integer id);//步一 interface LockDao: public Lock getLockByIdSimple(Integer id);//步二 2). KeyDao.xml: <!--     id  keyname     lockid   --> <sele…
1.场景 一个门人手一把钥匙 1-n 一个Lock对应一个Key集合(collection自动整成list) Map不是collection的子接口或者实现类.Map是一个接口. JavaBean:private List<Key> keys; 1). interface LockDao: public Lock getLockByIdByStep(Integer id);//步一 interface KeyDao: public List<Key> getKeysByLockId…
1.级联属性的方式封装查出1-1 查钥匙的时候顺别把对应的级联的那把锁也查出来 1).两个JavaBean,Key里有对应的Lock(private Lock lock;//当前钥匙能开哪个锁:) 2).建两张表key表和lock表,key表里加外键 外键好处,安全性:单纯删key表里的一行记录删不掉,只有删除key表记录才行 3).sql语句要对两个表两个相同名字id起别名, id  keyname  lockid  “lid”  lockname -        -           …
mybatis默认封装规则: 1).按照列明和属性名一一对应的规则(不区分大小写) 2).如果不一一对应: 1).开启驼峰命名(数据库aaa_bbb, 程序中aaaBbb) 2).起别名 3).自定义结果集(resultMap):自己定义每一列数据和javaBean(当乱起名时)的映射规则 将resultType改为自己定义的resultMap去引用自己定义的 <select id="getCatById" resultMap="mycat"> sele…
一.参数(Parameters)传递 单个参数 基本类型:取值#{hahaha}随便写 多个参数 <!--   public Employee getEmpById(Integer id,String empName); 取值#{参数名}就无效了 可用0,1参数的索引或param1,param2(第几个参数就paramN) 原因:任意多个参数,都会被MyBatis重新包装成一个Map传入.Map的key是param1,param2,0,1…,值就是参数的值. 命名参数 在dao里写方法时为参数使…
一. <insert id="insertEmployee"> INSERT INTO t_employee(empname,gender,email) VALUES(#{empName},#{gender},#{email}) </insert> 二. useGeneratedKeys属性与keyProperty配合使用获取提交对象Employee的自增主键的值 另外如果主键生成方式为非自增,即人们不确定下一个id是多少?不能重 这时候扔向插入数据怎么办? E…