Mybatis工具类(自动提交事务)】的更多相关文章

public class MybatisUtils { private static SqlSessionFactory sqlSessionFactory; static { try { //获取工具类SqlSessionFactory对象 String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); sqlSessionFactor…
快速创建SpringBoot2.x应用之工具类自动创建web应用简介:使用构建工具自动生成项目基本架构 1.工具自动创建:http://start.spring.io/ 2.访问地址:http://localhost:8080/ 开始下载,解压,导入Maven项目 导入后: Run AS启动,访问localhost:8080 需要加地址/路由 再次访问: 总结: 推荐使用自动生成工具来创建项目,可以自动搭建. SpringBoot2.x的依赖默认Maven版本 简介:讲解SpringBoot2.…
最近和数据库的表打交道挺多的,因为暂时做的是接口活. 在这过程中发现要把表转换成对应的javabean类型,字段少的表还行,如果不小心碰到几十个字段的他妈的写起来就有点麻烦了,万一碰到几百个的呢,那不是要崩溃. 于是想写个工具类,自动生成javabean. 先说下思路: 1.读取数据库表,获取里面的字段名. 准备连接数据库的驱动包,这里只是针对了oracle数据库和mysql数据库 2.构建一个stringBuffer字符串,用来生成我们需要的类. 3.写入文件 要求具备相应的文件流知识. 好了…
今天学习了下mybatis, 对其中的autoCommit自动提交事务比较好奇, 研究了下,把配置和代码都放上 mapper.xml如下: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper…
要点摘要 Math: 类中么有构造方法,内部方法是静态的,可以直接类名.方式调用 常用: Math.abs(int a):返回参数绝对值 Math.ceil(double a):返回大于或等于参数的最小double值,等于一个整数 Math.floor(double a):返回小于或等于参数的最大double值,等于一个整数 Math.round(float):按照四舍五入返回最接近参数的int Math.max(int a,int b):返回两个中最大 Math.min(int a,int b…
pndao的原理并不复杂,是基于MyBatis的方法命名约定来生成SQL,并且写入MyBatis需要的XML. 写之前会判断是否已经存在XML或者注解,如果已经存在则略过此方法,所以无论是注解还是XML方式配置SQL都是兼容的. 有一点不同的是,这个是基于jsr269的编译期注解处理来实现的,所以其实整个方案跟MyBatis并没有强绑定,基于这种思路还可以做出其他很多有用的东西来. 以下是一个常见的DAO功能: 结合建表语句生成插件pngen,大部分场景只需编写一个模型类即可完成DAO层工作.…
package cn.word.util; import java.io.IOException;import java.io.InputStream;import java.util.Enumeration;import java.util.HashMap;import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.ibatis.io.Resources;import org.apa…
我们想要mybatis帮助我们自动提交事务其实很简单,只需要在SqlSessionFactory对象的openSession方法中设置参数为true就可以了,mybatis工具类如下: public class MybatisUtils { private static SqlSessionFactory sqlSessionFactory; static { try { //使用Mabatis第一步:获取SqlSessionFactory对象 String resource = "mybati…
一.了解myBatis的作用域和生命周期[错误的使用会导致非常严重的并发问题] (1)SqlSessionFactoryBuilder [ 作用:仅仅是用来创建SqlSessionFactory,作用域:方法作用域(局部变量) ] (2)SqlSessionFactory(类似连接池) [ 生命周期:一旦被创建就应该在应用的运行期间一直存在,作用域:应用作用域变量(使 用单例模式/静态单例模式) ] (3)SqlSession(类似连接对象) [ 特点:非线程安全,不能共享,作用域:请求或方法作…
Android的加载动画AVLoadingIndicatorView 项目地址: https://github.com/81813780/AVLoadingIndicatorView 首先,在 build.gradle.中添加: dependencies { compile 'com.wang.avi:library:2.1.3' } 然后在xml中使用: <com.wang.avi.AVLoadingIndicatorView android:id="@+id/avi" and…
搭建项目 一:lib(关于框架的jar包和数据库驱动的jar包) 1,第一步:先把mybatis的核心类库放进lib里…
项目结构  基础入门可参考:mybatis学习笔记(一)-- 简单入门(附测试Demo详细过程) 开始体验 1.新建项目,新建类MybatisUtil.java,路径:src/util/MybatisUtil.java package util; import java.io.InputStream; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; i…
经过很久的努力,终于完成了JAVA自动生成正则表达式工具类.还记得之前需要正则,老是从网上找吗?找了想修改也不会修改.现在不用再为此烦恼了,使用此生成类轻松搞定所有正则表达式.赶快在同事面前炫一下吧. 本正则表达式工具类,也整理了很多常用校验.例如:匹配汉字.行首.行尾.匹配除换行外的所有字符.匹配数字.匹配大写字母.匹配小写字母.匹配大小写字母.匹配小写字母和数字.匹配大写字母和数字.匹配大小写字母和数字.匹配大小写字母.数字.下划线.匹配一个单词的边界.匹配一个非单词的边界.匹配任何空白字符…
2019-04-09 @Test public void Test() throws Exception { // 1.读取配置文件 String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); // 2.根据配置文件构建SqlSessionFactory SqlSessionFactory sqlSessionFactory = ne…
1.线程容器,给线程绑定一个Object 内容,后只要线程不变,可以随时取出. 1.1 改变线程,无法取出内容. final ThreadLocal threadLocal = new ThreadLocal<>(); threadLocal.set("测试"); new Thread(){ public void run() { String result = threadLocal.get(); System.out.println("结果:"+re…
获取全局上下文(getApplicationContext)_创建Shared Preference工具类_实现自动登录 ===========================获取全局上下文(getApplicationContext)======================== 1.在com.example.autologin.myapplication包中创建Myapplication extends Application 代码: public class Myapplication…
创建SpringBoot项目 在线创建方式 网址:https://start.spring.io/ 然后创建Controller.Mapper.Service包 SpringBoot整合Redis 引入Redis依赖 <!--SpringBoot与Redis整合依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter…
本篇随笔主要介绍了一个用java语言写的将一个文件编码转换为另一个编码并不改变文件内容的工具类: 通过读取源文件内容,用URLEncoding重新编码解码的方式实现. public class ChangeFileEncoding { public static int fileCount = 0; public static String sourceFileRoot = "替换为要转换的源文件或源目录"; // 将要转换文件所在的根目录 public static String s…
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- getMapper的作用,获取到接口,直接通过点的方式调用方法,以免直接手打的方式写错方法名,(强类型的方式) 例子: IBookDAO mapper = session.getMapper(IBookDAO.class); List<Book> list = mapper.findAllBook(); 那个工具类,主要是获取SqlSession对象,写法 package cn.dawn.util; im…
本篇随笔主要介绍了一个用java语言写的将一个文件编码转换为另一个编码并不改变文件内容的工具类: 通过读取源文件内容,用URLEncoding重新编码解码的方式实现. 1 public class ChangeFileEncoding { 2 public static int fileCount = 0; 3 public static String sourceFileRoot = "替换为要转换的源文件或源目录"; // 将要转换文件所在的根目录 4 public static…
导入xml操作的类和用到的相关包 创建util包,然后把提供好的XMLConfigBuilder.java文件复制3过来 复制过来,里面用到了很多dom4j的东西 打开pom.xml 输入dependency.然后输入dom4j 这里用到的是dom4j的扩展内容,叫做xpath 用到xmpath就还需要导入包,jaxen 创建configuration 返回值是一个configuration.但是我们还没有这个 放到cfg的包下 我们把 configuration导进来.发现都是存放链接信息的…
抽取SqlSessionFactoryUtils工具类,共享SqlSessionFactory创建过程 /** * SqlSessionFactory工具类 * @author:Mr.Tan * @Create:2018-10-30-23-14 **/ public class SqlSessionFactoryUtils { private static SqlSessionFactory sqlSessionFactor; static { try { //创建SqlSessionFacto…
编写工具类 复用与重构 复用:使用方法与函数,复用的类,构成JAR包.(工具类属于复用) 一.创建工具类(一般在src下创建util包,在util包下创建工具类). 例如:MybatisUtilds为工具类: 二:本工具类,作用如下: 1.创建和初始化SqlSessionFactory封装成方法 2.能够创建在一定范围内(线程)有效的SqlSession 3.能够关闭在一定范围内()有效的SqlSession 4.能够进行事务控制 5.一些额外的支持Dao层便捷开发的方法 实现: ThreadL…
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4055183.html [正文] 首先需要回顾一下上一篇文章中的内容:MySQL数据库学习笔记(九)----JDBC的PreparedStatement接口重构增删改查 一.JDBC事务处理: 我们已经知道,事务的概念即:所有的操作要么同时成功,要么同时失败.在MySQL中提供了Commit.Rol…
既然用Hibernate框架访问管理持久层,那为何又提到用Spring来管理以及整合Hibernate呢?把SessionFactory,Session,Transcational封装成包含crud的工具类并且处理了事务,那不是用不着spring了? Hibernate操作的步骤如下: 1. 获得Configuration对象 2. 创建SessionFactory 3. 创建Session 4. 打开事务 5. 进行持久化操作.比如上面的添加用户操作 6. 提交事务 7. 发生异常,回滚事务…
MySQL数据库学习笔记(十)----JDBC事务处理.封装JDBC工具类 一.JDBC事务处理: 我们已经知道,事务的概念即:所有的操作要么同时成功,要么同时失败.在MySQL中提供了Commit.Rollback命令进行事务的提交与回滚.实际上在JDBC中也存在事务处理,如果要想进行事务处理的话,则必须按照以下的步骤完成. JDBC中事务处理的步骤: 1.要取消掉JDBC的自动提交:void setAutoCommit(boolean autoCommit) 2.执行各个SQL语句,加入到批…
这是我JDBC的第一篇 http://blog.csdn.net/hon_3y/article/details/53535798 这是我JDBC的第二篇 http://blog.csdn.net/hon_3y/article/details/53725446 1.事务 一个SESSION所进行的所有更新操作要么一起成功,要么一起失败 举个例子:A向B转账,转账这个流程中如果出现问题,事务可以让数据恢复成原来一样[A账户的钱没变,B账户的钱也没变]. 事例说明: /* * 我们来模拟A向B账号转账…
1.什么是JDBC JDBC全称为:Java Data Base Connectivity,它是可以执行SQL语句的Java API 2.为什么我们要用JDBC 市面上有非常多的数据库,本来我们是需要根据不同的数据库学习不同的API,sun公司为了简化这个操作,定义了JDBC API[接口] sun公司只是提供了JDBC API[接口],数据库厂商负责实现. 对于我们来说,操作数据库都是在JDBC API[接口]上,使用不同的数据库,只要用数据库厂商提供的数据库驱动程序即可 这大大简化了我们的学…
1.什么是JDBC JDBC全称为:Java Data Base Connectivity,它是可以执行SQL语句的Java API 2.为什么我们要用JDBC 市面上有非常多的数据库,本来我们是需要根据不同的数据库学习不同的API,sun公司为了简化这个操作,定义了JDBC API[接口] sun公司只是提供了JDBC API[接口],数据库厂商负责实现. 对于我们来说,操作数据库都是在JDBC API[接口]上,使用不同的数据库,只要用数据库厂商提供的数据库驱动程序即可 这大大简化了我们的学…
1.事务 一个SESSION所进行的所有更新操作要么一起成功,要么一起失败 举个例子:A向B转账,转账这个流程中如果出现问题,事务可以让数据恢复成原来一样[A账户的钱没变,B账户的钱也没变]. 事例说明: /* * 我们来模拟A向B账号转账的场景 * A和B账户都有1000块,现在我让A账户向B账号转500块钱 * * */ //JDBC默认的情况下是关闭事务的,下面我们看看关闭事务去操作转账操作有什么问题 //A账户减去500块 String sql = "UPDATE a SET money…