Mybatis笔记(1)】的更多相关文章

目录 旧方法的弊端 接口式编程 接口式编程的好处 接口式编程的增删改查 旧方法的弊端 在Mybatis笔记一中,我们使用命名空间+id的方式实现了Mybatis的执行,不过这里的命名空间是我们随便写的,id也是随意写的,这种方式其实是有弊端的,例如我们在执行的时候用的这个 list =sqlSession.selectList("Message.selectOneMessage",1); 这里有一个不好的地方,第二个参数是Object类型的,我们输入1,但是没办法保证类型安全,没办法保…
MyBatis笔记二:配置 1.全局配置 1.properites 这个配置主要是引入我们的 properites 配置文件的: <properties resource="db.properties"/> <environments default="development"> <environment id="development"> <transactionManager type="J…
MyBatis笔记一:GettingStart 1.MyBatis优点 我们的工具和各种框架的作用就是为了我们操作数据库简洁,对于一些数据库的工具能帮我们少写一些处理异常等等的代码,但是他们并不是自动化的,很多的操作还是需要我们自己进行,所以我们的框架就帮我们把中间黑色的部分封装起来了,减少我们的负担,但是SQL也是重中之重,我们需要把这些东西自己来控制就有 MyBatis 这个半自动框架,以及我们需要学习更多的关于 HQL 的内容. 相对于Hibernate 他的优点就是可以进行SQL 的定制…
<!doctype html>[MyBatis笔记]mapper文件的配置以及说明 figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max-width: 100%; vertical-align: middle; } button, input, select, textarea { color: inherit; font: inherit; } i…
之前发了一篇mybatis的crud入门笔记,算是入门了,为了让功力加深一级,来研究下mybatis的理论知识,哈哈,以后好拿来跟技术经理吹吹牛- 按照问题来吧!个人觉得有自主意识,带着自己的问题来研究东西是最开心和高效的:   问题1:mybatis是什么? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架. MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索. MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和…
mybatis与spring整合需要添加几个jar包,mybatis-spring, spring-context, spring-jdbc 1. spring ioc只要一个jar包就ok 2. 我用了c3p3数据库连接池 跟笔记<一>比,需要修改的地方 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org…
mybatis作为一个orm互联网公司基本都在用,今天写个笔记.记录一下mybatis使用 参考官网:http://www.mybatis.org/mybatis-3/getting-started.html 这里使用的mysql, 建了一个数据库db_test,表person,字段id, name, age.插了一条数据,id为1.demo 主要功能从mysql中读取这条记录. mybatis主要通过读取配置文件xml,初始化得到SqlSessionFactory, 通过facotry拿到se…
简介 自学的[狂神JAVA]MyBatis GitHub源码: https://github.com/Donkequan/Mybatis-Study 分享自写源码和笔记 配置用的 jdk13.0.2 (jdk1.7以上均可) Maven MySQL 5.7 (mysql5.6以上均可) 1. 配置 官网文档: https://mybatis.org/mybatis-3/zh/getting-started.html pom.xml <?xml version="1.0" enco…
1,mybatis流程跟踪,原理理解 基本思路: 从SqlSessionFactory的初始化出发,观察资源的准备和环境的准备,以及实现持久层的一些过程: 进入SqlSessionFactoryBean类,发现先执行的是 然后是: 在初始化类之后,做的准备工作如下: public void afterPropertiesSet() throws Exception {     notNull(dataSource, "Property 'dataSource' is required"…
mybatis比较轻量,适合开发比较小型的或者业务比较复杂的系统: 相对于hibernate来说可以灵活的写sql,更灵活的处理遇到的业务逻辑: 可以说hibernate是pojo实体对db的orm映射,而mybatis是pojo对sql的映射: 作为入门,先不考虑高级的特性,速度来一个CRUD再从源码和一个具体的业务来研究它的原理和高级特性: CRUD基本思路:作为一种比较流行的持久层ORM框架,相当于三层架构中的dao层: 最终作为程序员的我们使用的SqlSession对象,先来个思路,再来…
Mybatis:将java对象映射成SQL语句,再将结果转化为java对象,解决了java对象和sql拼接.结果集的问题,又可以自己写sql语句 总体结构: 根据JDBC规范建立与数据库的连接 通过反射打通java对象与sql参数的交互交互式框架: 1.准备好交互环境 2.构建一个交互环境,在交互环境还划分为会话,每次会话都有一个环境 3.交换数据 Mybatis 1.Mybatis配置文件 conf.xml 2.根据数据库表编写对应实体类 3.定义操作表的sql映射文件 4.在Mybatis配…
前提概要 Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上边Dao接口实现类方法. Mapper接口开发需要遵循以下规范: 1.Mapper.xml文件中的namespace与mapper接口的类路径相同. 2.Mapper接口方法名和Mapper.xml中定义的每个statement的id相同 3.Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的paramet…
简单介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .2013年11月迁移到Github. iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架.iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO) 1.导包 核心包 依赖包 当然还要有数据库驱动包 2.写…
mybatis (一)传值 三种方式 1.直接传值void getMessageList(int userId,String userName);mapper.xml 获取 #{0}代表userId #{1}代表userName2.设置成键值对 i)包装成实体信息 void getMessageList(User user); //传入类型为 User mapper.xml #{userId} #{userName} ii)包装成map void getMessageList(Map map);…
1.MyBatis中的一些要点: 1.1 SqlMapConfig.xml:mybatis的全局配置文件,配置mybatis的运行环境等信息,包括mapper.xml文件 1.2 mapper.xml:sql映射文件 1.3 SqlSessionFactory:根据SqlMapConfig.xml构造 1.4 SqlSession:由SqlSessionFactory生成,操作数据库需要通过SqlSession进行 1.5 Executor:MyBatis底层定义的操作数据库的执行器接口 1.6…
1.动态sql 01.if:单独使用if,后面必须有where 1=1 代码:<!-- 需要注意的事项:01. 在xml文件中 特殊字符的使用 &&必须换成 and或者 & < < > > <= <= >= >= ' &apos;" " 02.因为不确定用户输入的到底是哪个参数 所以 where 之后必须加上 1=1 而且 每个条件之前加上 and --><select id="…
环境:Mybatis 3 +MariaDB 10.1 似乎在调用存储过程时 ,参数只能写在一行上. 否则会返回语法错误.…
接上一篇随笔.这里没有用到MyBatis最关键的映射器接口,因此只做个简单的insert操作,update和delete同理,就不再赘述了. 直接上代码: 首先是dao包下的UserDAO.java文件: package com.alleymeowy.dao; import com.alleymeowy.bean.User; import com.alleymeowy.util.DBUtil; import org.apache.ibatis.session.SqlSession; import…
小白学习MyBatis的第一天,学习资料包括MyBatis3的官方文档,以及孤傲苍狼大佬的博客.这里先致敬大佬. · 首先,什么是MyBatis? 引用官网的一段话,“MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象…
目录 0. 文章目录 1. Mybatis映射文件 1.1 输入映射 1.2 输出映射 1.3 resultMap 2. 动态SQL 2.1 if和where 2.2 foreach循环 2.3 sql片段 sql+include 2.4 set 4. 关联查询 4.1 商品订单数据模型 4.2 一对一查询 4.3 一对多查询 0. 文章目录 Mybatis映射文件 动态SQL 关联查询 1. Mybatis映射文件 映射文件中select的两个参数重要参数:parameter和resultTy…
目录 1. Mybatis的介绍 2. 使用JDBC编码的分析 2.1 准备 2.3 程序代码 2.4 JDBC问题 3. Mybatis架构 4. Mybatis入门程序 4.1 mybatis下载 4.2 需求 4.3 工程搭建 4.5 mybaits核心配置文件 4.6 pojo类 4.7 sql映射文件 5. 根据id查询用户信息 5.1 映射文件 5.2 测试程序 6. 根据用户用户名查询用户信息 6.1 映射文件 6.2 测试程序 7. 总结 7.1 比较#{}和${} 7.2 pa…
mybatis版本3.4以下 结构 spring-mvc.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://…
使用MyBatis 3.4.1或者其以上版本 @Intercepts({ @Signature(type = StatementHandler.class,  method = "prepare",  args = {Connection.class, Integer.class})})   使用MyBatis 3.4.1(不包含)以下 @Intercepts({ @Signature(type = StatementHandler.class,  method = "pre…
上节 无springmvc框架 http://www.cnblogs.com/tk55/p/6661786.html 结构 jar包 web.xml 与index.jsp <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.…
结构图 刚之前没什么区别,多了一个applicationContext.xml 包图 由于之前出了一点错误,有些包可能多加上了 数据库图 model User.java package com.ij34.model; public class User { private int id; private String name; private int age; public int getId() { return id; } public void setId(int id) { this.…
四月 05, 2017 4:56:11 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh 信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@41cf53f9: startup date [Wed Apr 05 16:56:11 CST 2017]; root of…
四月 05, 2017 4:51:02 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh 信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@41cf53f9: startup date [Wed Apr 05 16:51:02 CST 2017]; root of…
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@41cf53f9: startup date [Wed Apr 05 16:48:12 CST 2017]; root of context hierarchy 四月 05, 2017 4:48:12 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader lo…
数据库 方式一:XML 按照下面类型建立article表 Article.java package com.ij34.model; public class Article { private int id; private User user; private String title; private String content; public String getContent() { return content; } public void setContent(String con…
继上 http://www.cnblogs.com/tk55/p/6659285.html http://www.cnblogs.com/tk55/p/6660477.html 注解 将id:8 name: 小A age:54修改 name:大A age:44 UserMapper.java package com.ij34.model; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotatio…