mybaits

MyBaits理解?

自作多情 提交于 2020-03-23 06:59:23
(1)MyBaits是一个基于Java的持久层框架,支持普通或定制化SQL查询、存储过程以及高级映射,使用XML或注解来配置和映射信息。 (2)应用程序使用SQLSessionFactory实例,一个SQLSessionFactory实例可以通过SQLSessionFactoryBuilder获得。SQLSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。 (3)SQL写在xml里,便于统一管理和优化,解除SQL与程序代码的耦合,通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试,提高了可维护性。 (4)提供映射标签,支持对象与数据库的orm字段关系映射,支持编写动态SQL,支持对象关系组建维护。 (5)总体流程:<1>加载配置并初始化<2>接收调用请求<3>处理操作请求<4>返回处理结果将最终的处理结果返回。 (6)处理过程: <1>根据SQL的ID查找对应的MappedStatement对象。 <2>根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数。 <3>获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果。 <4>根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理

Spring整合Mybaits

跟風遠走 提交于 2020-03-09 21:31:11
分享一下自己的Spring框架整合Mybaits框架的步骤,话不多说,上整合步骤,以java项目为例: 整合思路: SqlSessionFactory -> SqlSession ->StudentMapper ->CRUD 可以发现 ,MyBatis最终是通过SqlSessionFactory来操作数据库, Spring整合MyBatis 其实就是 将MyBatis的SqlSessionFactory 交给Spring 项目结构: 第一步:导入整合过程中所需要的jar包,所需要的jar包如下,如果没有jar包可以去maven库中搜索进行下载:     mybatis-spring.jar spring-tx.jar ojdbc.jar mybatis.jar     spring-jdbc.jar spring-expression.jar log4j.jar     spring-context-support.jar        spring-core.jar commons-pool.jar     spring-context.jar         spring-beans.jar     spring-aop.jar           spring-web.jar     commons-logging.jar          commons-dbcp.jar

Mybaits的ORM思想

那年仲夏 提交于 2020-02-27 15:54:41
Object Relational Mappging:对象关系映射 就是把数据库和实体类对象及属性一一对应起来,达到操作实体类就相当于操作数据库。 user表 一一对应 实体类User id <----> id username <----> userName password <----> userPassword 来源: CSDN 作者: 一个不可泄露的身份 链接: https://blog.csdn.net/CaiBirdHitGuai/article/details/104532964

表主键自增长Mybatis插入数据报错

我怕爱的太早我们不能终老 提交于 2020-01-07 20:24:50
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在使用MyBatis进行开发的过程中,当你遇到向某张数据库表中插入一条记录时,出现数据插入不正确,如果自己确定是因为主键的原因,类似如下错误提示: 而你的本意是主键自动增长,那么,可参考如下方法尝试解决: 第一步:在配置中设置主键为自增长(数据库我使用的是MySql) 如果你是使用MyBatis自动生成的插入语句,除了设置上面给出的useGeneratedKeys=”true”之外,还需要将如下图所示红色部分去掉,这是查询主键最大值的一段代码。 如果还未解决,这时你应该检查一下你的数据库表中主键设置,是否为自动增长设置。 可以在sql语句中主键后加上auto_increment. 如果你使用的是工具“Navicat for MySQL”,比如我要设置如图所示中tb-device_basic表的主键为自动增长,点击“设计表”,再将“自动增长”勾中即可,然后再尝试一下。 来源: oschina 链接: https://my.oschina.net/u/781254/blog/466470

mybaits

白昼怎懂夜的黑 提交于 2019-12-27 02:25:13
MyBaits框架 一、Mybaits是什么? 二、为什么使用 三、mybaits的crud 四、细节 4.1 获取主键 4.2 log4j日志 4.3 mybaits别名 4.4 #和$的区别 五、批量操作数据 六、动态sql 持久层框架 Apache 的开源项目 ORM 对象关系映射 持久化 把数据保存到硬盘中 一、Mybaits是什么? 一个支撑框架 以映射sql语句ORM方式来做数据库持久化操作 二、为什么使用 jdbc 重复性代码较多 封装对象麻烦 性能低–>要提高效率,需要自己写缓存 mybaits(特点) 没有太多的重复代码 封装对象方便(不用手动处理参数) 性能高 sql统一管理,维护方便(把sql语句从java代码中抽取出来) 90%企业在使用 三、mybaits的crud 抽取工具类 public enum MyBatisUtils { INSTANCE ; private static SqlSessionFactory sqlSessionFactory ; static { Reader reader = null ; try { //读取配置文件 reader = Resources . getResourceAsReader ( "MyBatis-Config.xml" ) ; sqlSessionFactory = new

Eclipse Meaven Spring SpringMVC Mybaits整合

别说谁变了你拦得住时间么 提交于 2019-12-24 17:15:01
本示例是在:Ubuntu15上实现的;Windows上安装Maven将不太相同。 Maven Install Run command sudo apt-get install maven , to install the latest Apache Maven. Run command mvn -version to verify your installation. Where is Maven installed? The command apt-get install the Maven in /usr/share/maven The Maven configuration files are stored in /etc/maven Eclipse Maven Plugin - m2e open Eclipse -> Help -> click "Install New Software" -> click "add" Name:m2e Location:http://download.eclipse.org/technology/m2e/releases click "ok" -> click "Maven Integration for Eclipse" -> click "Next" restrat Eclipse config m2e -> Window ->

mybaits

自闭症网瘾萝莉.ら 提交于 2019-12-21 04:37:53
(整理)MyBatis入门教程(一) https://www.cnblogs.com/kevin1990/p/6231122.html https://www.cnblogs.com/hellokitty1/p/5216025.html#3591383 视频 https://edu.51cto.com/course/1354.html mybaits入门 http://www.mybatis.org/mybatis-3/zh/getting-started.html https://blog.csdn.net/isea533/article/details/73555400 https://www.baidu.com/link?url=HfPA9ZnTraLOT79irCSCJz_Aq_zebP9nJd1KqHBBEtX67yz_8PoxGXR8bomfg2gDVCTkhQ_IS-tkzwsgDXL-k_&wd=&eqid=e203282900688428000000055cfca243 1、此时mybatis中内置的参数_databaseId中保存了用户所指定的对应的数据库厂商标识。 <select id="selectUsrs" databaseId="mysql" resultType="com.heiketu.pojo.Users"> <if test="

mybaits中的sqlSession的理解

僤鯓⒐⒋嵵緔 提交于 2019-12-05 14:47:41
一、mybaits的框架的介绍 mybatis是apache的一个开源项目,主要是为java提供一个orm半对象关系数据映射持久化框架。 1. sql 更加灵活,sql提供动态sql 2. 对象关系映射具有一对一 一对多 多对一 二、sqlSession的介绍 首先mybaits中是具有一个默认的connection连接池,sqlSesion是用来与sql语句进行打交道的 ,类似与statement对象。在sqlSession中具有execute执行器、parpameter参数解析器、resultMap结果引射器。主要是通过SqlSessionFactory.build().openSqlSession()。一级缓存基于sqlSession默认开启,一般的话sql 查询都会去开启一个sqlSession对象,这个对象具有execute执行,然后通过connection的线程池去执行execute任务。 来源: https://www.cnblogs.com/fc520/p/11929055.html

蓝缘系统第三版本即将开源;基于springMVC+Apache shiro​ 1.2.3+Mybai

ぐ巨炮叔叔 提交于 2019-12-04 22:16:50
蓝缘系统第三版本即将开源;基于springMVC+ Apache shiro 1.2.3 + Mybaits3.x的权限系统,,开放源码,支持开源 1.0版和2.0版的源码已经开源 1.0版本:http://blog.csdn.net/mmm333zzz/article/details/16863543     2.0版本:http://blog.csdn.net/mmm333zzz/article/details/37773589 关于3.0新版本的说明: 一大亮点: 采用最新的技术流行框架:springMVC4.1.4+shiro1.2.3+spring4.x+Mybaits3.2.8+Ajax+html5 spring4.x的新特性请看: http://jinnianshilongnian.iteye.com/blog/1989381 说明: 这个版本主要是对原有的蓝缘系统更换UI界面,功能上基本一致, 但此还在开发当中..... 关于以前版本,不再维护,致力于新版本的开发和维护.. 优化: 封装好baseSerive,baseSeriveImpl,baseMapper..服务层,持久层统一调用,大大减少代码开发时间. spring4.x的强类型注解,泛型限定式依赖注入 用mapper来代替dao,由mybaits自动管理各事务的操作,大大减少代码开发时间. 3

Mybaits 源码解析 (十二)----- Mybatis的事务如何被Spring管理?Mybatis和Spring事务中用的Connection是同一个吗?

六月ゝ 毕业季﹏ 提交于 2019-12-04 08:13:18
不知道一些同学有没有这种疑问,为什么Mybtis中要配置dataSource,Spring的事务中也要配置dataSource?那么Mybatis和Spring事务中用的Connection是同一个吗?我们常用配置如下 <!--会话工厂 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> </bean> <!--spring事务管理 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!--使用注释事务 --> <tx:annotation-driven transaction-manager="transactionManager" /> 看到没, sqlSessionFactory中配置了 dataSource, transactionManager也配置了 dataSource,我们来回忆一下