说明:本系列随笔会与CSDN同步发布,当然这里先发,因为这里可以用WLW.但刚才由于误操作,没有重新发上来.只好先在CSDN先发了.重往这里发时图片无法处理,索性直接粘过来吧! 使用框架后一些相关的配置如果手写起来会累死,且没有必要,技术就是用来提升工作效率的(至少我是这么认为的).实体类及配置基本上大同小 异,CTRL+C.CTRL+V 当然也可以实现,但那也不像做技术出身的风格.以前用动软的生成PETSHOP的代码.据说这个CodeSmtih挺强.就拿来用的.感觉定制性挺强,但 使用习惯什么…
MyBatis:学习笔记(4)——动态SQL 如果使用JDBC或者其他框架,很多时候需要你根据需求手动拼装SQL语句,这是一件非常麻烦的事情.MyBatis提供了对SQL语句动态的组装能力,而且他只有几个基本的元素,十分简单明了,即大量的判断都可以在MyBatis的映射XML文件里面配置,已达到我们需要大量代码才可以实现的功能. 动态SQL元素 IF元素 IF元素是我们最常用的判断语句,相当于Java中的IF语句.它常常与test属性联合使用. <select id="findOffice…
前几天学习了mybatis,今天来复习一下它的内容. mybatis是一个基于Java的持久层框架,那就涉及到数据库的操作.首先来提出第一个问题:java有jdbc连接数据库,我们为什么还要使用框架呢?要回答这个问题,首先来看一下jdbc是怎样编程的. private static String sql = "SELECT * FROM USER WHERE username = ?"; public static void main(String[] args) throws SQL…
配置文件 贴出mybatis的配置文件,这里mybatis还未与spring做整合: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <c…
MyBatis 3 一.MyBatis简介 优秀的持久层框架,支持支持自定义 SQL.存储过程以及高级映射,专注于SQL的编写. ​ 为什么不使用工具类进行数据库操作: ​ 功能简单,sql语句编写在Java代码里面,是一种硬编码高耦合的方式,不推荐. Hibernate: ​ 另一种持久层框架,全自动全映射ORM(Object Relation Mapping)框架,旨在消除SQL. ​ 主要特点:一个JavaBean对象与数据库中一条记录建立映射,中间过程对于程序员来讲是黑箱操作,无须关注S…
mybatis有两级缓存机制,一级缓存默认开启,可以在手动关闭:二级缓存默认关闭,可以手动开启.一级缓存为线程内缓存,二级缓存为线程间缓存. 一提缓存,必是查询.缓存的作用就是查询快.写操作只能使得缓存失效,不管是一级缓存还是二级缓存,一旦发生写操作,缓存就要清空一次. 缓存是把双刃剑,用得好比较难,用不好就把自己伤着了. Perpetual这个单词,意为“永恒”.PerpetualCache表示永不过期的缓存.mybatis的两级缓存都是默认为PerpetualCahe,一级缓存的缓冲机制不能…
增删改之前先说一下笔记1里提到的一个无法创建ISqlMapper对象的问题. <resultMaps> <resultMap id="FullResultMap" class="TUSER"> <result property="UID" column="U_ID" dbType="Int"/> <result property="UName"…
1.MyBatis是什么? MyBatis源自于IBatis,是一个持久层框架,封装了jdbc操作数据库的过程,使得开发者只用关心sql语句,无需关心驱动加载.连接,创建statement,手动设置参数,结果集检索等jdbc底层操作. Mybatis通过xml或注解的方式将要执行的各种statement(statement.preparedStatemnt.CallableStatement)配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由myb…
一.MyBatis和jdbc的区别 jdbc的过程包括: 1.加载数据库驱动. 2.建立数据库连接. 3.编写sql语句. 4.获取Statement:(Statement.PrepareStatement.callableStatement). 5.执行executionQuery. 6.获取ResultSet结果集. 7.处理ResultSet结果集. 6.关闭资源:rs,Statement,conn. MyBatis工作流程 1.加载配置并初始化 触发条件:加载配置文件 配置来源于两个地方…
1.原始方法开发Dao Dao接口 package cn.sm1234.dao; import java.util.List; import cn.sm1234.domain.Customer; public interface CustomerDao { public void saveCustomer(Customer customer); public void updateCustomer(Customer customer); public void deleteCustomer(In…