mapper

Weed3 for java 新的微型ORM框架

喜欢而已 提交于 2019-12-21 08:48:45
Weed3,微型ORM框架(支持:java sql,xml sql,annotation sql;存储过程;事务;缓存;监听;等…) 05年时开发了第一代; 08年时开发了第二代,那时候进入互联网公司,对性能有了全新的认识; 14年时开发了第三代。因为不喜欢滥用反射,不喜欢有很多配置,所以一直在执着的没放弃。 前两代,都是在.net开发的;第三代,重点放在了java上。应该算是个功能全面且最小的ORM框架,无其它依赖,仅0.1mb。对外的接口也不多,主要由DbContext上的四个接口发起所有的操作。 因为一些执念写的东西都算是比较微型的: Snack3(Json框架 70kb,有序列化,有Jsonpath,有格式转换机制;强调构建能力) Solon(Web框架 80kb) 一个手机浏览器(0.1mb,可是有完整功能哦;算是一个创意作品) Weed3 特点和理念: 高性能:两年前有个同事测过四个ORM框架,它是性能最好的(不知道现在是不是)。 跨平台:可以嵌入到JVM脚本引擎(js, groovy, lua, python, ruby);有.net,php版本(久没维护了)。 很小巧:只有0.1Mb嘛(且是功能完整,方案丰富;可极大简化数据库开发)。 有个性:不喜欢反射、不喜欢配置…(除了连接,不需要任何配置)。 其它的:支持缓存控制和跨数据库事务(算是分布式事务的一种吧)。

mybatis逆向工程

只愿长相守 提交于 2019-12-21 08:25:51
mybatis逆向工程 1,什么是逆向工程 根据表生成pojo,mapper接口,mapper映射配置文件 但是只能生成简单的增删改查,业务逻辑的代码还是需要自己写,复杂点的表查询都要重新写sql语句!不过这也极大的简化了一些代码不需要做重复工作 2,操作步骤 2.1 创建maven工程 2.2 添加maven插件 <!--mybatis-generator插件--> < plugin > < groupId > org.mybatis.generator </ groupId > < artifactId > mybatis-generator-maven-plugin </ artifactId > < version > 1.3.5 </ version > <!--指定资源文件的路径--> < configuration > <!--generatorConfig.xml下面有模板--> < configurationFile > .\src\main\resources\generatorConfig.xml </ configurationFile > < verbose > true </ verbose > < overwrite > true </ overwrite > </ configuration > <!--此插件需要依赖的jar包资源--> <

框架MyBatis

对着背影说爱祢 提交于 2019-12-21 07:32:03
ByBatis MyBatis是Apache的一个开源项目 iBatis ,iBatis3.x 正式更名为MyBatis ,代码于2013年11月迁移到Github。它是 一个基于 Java 的持久层框架(连数据库用的) 。 iBatis提供的持久层框架包括SQL Maps和Data Access Objects(DAO) https://github.com/mybatis/mybatis-3/ MyBatis简介(半自动化) 1) MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架 2) MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集 3) MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录 4) 半自动ORM(Object Relation Mapping`)框架 SSH(全自动的,连接数据库黑箱操作,sql语句都不用写) 、SSM 1、开发环境的准备 1) 创建Maven版的Java工程 2) 加入MyBatis框架的jar包、Mysql驱动包、log4j(可以看到发送的sql语句)的jar包的依赖 pom.xml <!-- MyBatis --> <dependency> <groupId

SpringBoot2.x整合mybatis多数据源

左心房为你撑大大i 提交于 2019-12-21 04:03:17
当项目中要用到两个不同的数据库时,就需要配置两个数据源分别连接这两个库。有的同学可能会问,将所有的表都放在一个库下面不就行了,为什么要用两个库呢? 所有表都放在一个库下当然可以,但是实际项目中,业务逻辑复杂之后,可能一些业务相关的库在同一个表中,另一块业务相关的数据就是在另一个库里,业务需求就是需要连接不同的数据库,这你怎么办嘛。 示例: 数据库信息 两个数据库:data和demo 这里用data中的user表 和demo中的user表 做例子。 在项目中,由于两个表名都叫user,为了区分,demo中的user表对应javabean为Demo.java,data中的user表对应javabean为User.java 项目信息: 目录: 依赖 pom.xml 这里用的是SpringBoot2.2.2 <?xml version="1.0" encoding="UTF-8"?> < project xmlns = " http://maven.apache.org/POM/4.0.0 " xmlns: xsi = " http://www.w3.org/2001/XMLSchema-instance " xsi: schemaLocation = " http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd

Mybatis与Spring的整合

故事扮演 提交于 2019-12-21 01:43:21
1、导入jar包 2、创建SqlMapConfig文件 <?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"> <configuration> <typeAliases> <typeAlias type="com.jack.po.User" alias="User"/> </typeAliases> <mappers> <mapper resource="com/jack/dao/user.xml" /> </mappers> </configuration> 3、创建User.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.dtd"> <mapper namespace="test"> <select id="findUser" parameterType="int"

IDEA下出现Invalid bound statement (not found)

前提是你 提交于 2019-12-21 01:31:01
找了很多种方法,都不行,配置那些也都没错 最后终于找到了,resources下创建包时,用了 . 而不是分步创建,导致一直找不到路径 例如: mapper.abc包名的创建 正确做法:先创建mapper,再创建abc 错误做法:直接创建mapper.abc 来源: CSDN 作者: czm790 链接: https://blog.csdn.net/czm790/article/details/103629349

resultMap和resultType的区别

好久不见. 提交于 2019-12-20 23:51:36
Mybatis中输出映射resultType与resultMap的区别 (原文地址: http://blog.csdn.net/acmman/article/details/46509375 ) 总结 基本映射 :(resultType)使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。(数据库,实体,查询字段,,这些全部都得一一对应) 高级映射 :(resultMap) 如果查询出来的列名和pojo的属性名不一致,通过定义一个resultMap对列名和pojo属性名之间作一个映射关系。(高级映射,字段名称可以不一致,通过映射来实现) 一、resultType 使用resultType进行输出映射,只有查询出来的列名和pojo(实体bean)中的属性名一致,该列才可以映射成功。 如果查询出来的列名和pojo中的属性名全部不一致,没有创建pojo对象。 只要查询出来的列名和pojo中的属性有一个一致,就会创建pojo对象。 1、输出简单类型 1).需求 用户信息的综合查询列表总数,通过查询总数和上边用户综合查询列表才可以实现分页。 2).mapper.xml [html] view plain copy < mapper namespace= "cn.edu.hpu.mybatis.mapper.UserMapper" > <!--

SpringBoot之【mybatisplus】代码生成器

亡梦爱人 提交于 2019-12-20 20:44:23
1、概述、 AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。 2、使用教程 2.1 相关依赖 MyBatis-Plus 支持 Velocity(默认)、Freemarker、Beetl,,可以采用自定义模板引擎。 <!--代码生成器 依赖--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.3.0</version> </dependency> <!--模板引擎 依赖--> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.28</version> </dependency> 2.2 编写配置 2.2.1 下载模板文件 模板地址: https:// github.com/baomidou/myb atis-plus/tree/3.0/mybatis-plus-generator/src

mybatis报错:Parameter Maps collection does not contain value for java.util.Map

让人想犯罪 __ 提交于 2019-12-20 11:47:32
今天一个同事遇到一个错误,报异常:mybatis报错:Parameter Maps collection does not contain value for java.util.Map!!!! 反复查看对应mapper,没问题啊 就是写的resultType = "java.util.Map" 反复验证、重新编译、找人帮忙看都不行,最后发现是模块里一个其他的mapper写错了,写的是resultMap = "java.util.Map" !!!晕! 原来,mybatis会把当前项目下所有的mapper加载到内存,验证mapper的合法性,如果又语法错误,那么全部mapper都不可执行!!!!!!!!!!!!! 我也是醉了!!!! 大家在遇到这个错误的时候,一定要检查全部mapper.xml文件! 令:好像不同的mybatis版本,报错不一样,我们用的版本是3.2.X 来源: CSDN 作者: dewffgqd 链接: https://blog.csdn.net/dewffgqd/article/details/103626941

mybatisplus(一)

放肆的年华 提交于 2019-12-20 08:24:10
什么是mybatispuls MyBatis-Plus(简称 MP)是一个 MyBatis 的 增强工具 ,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 集成MyBatis-Plus非常的简单,只需要引入 starter 工程,并配置 mapper 扫描路径即可。 @MapperScan 指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会生成相应的实现类 添加在springboot启动类上 @SpringBootApplication @MapperScan("com.mp.dao") public class Application { public static void main(String[] args) { SpringApplication.run(Application.class,args); } } 添加@MapperScan(“com.mp.dao”)注解以后,com.mp.dao包下面的接口类,在编译之后都会生成相应的实现类 可以使用@MapperScan注解多个包 @MapperScan({"com.mp.dao","com.mp.user"}) 如果mapper类没有在SpringBoot主程序可以扫描的包或者子包下面,可以使用如下方式进行配置 @MapperScan({"com.mp.*.mapper",