MyBatis

maven+spring mvc+mybatis+redis+dubbo+zookeeper

无人久伴 提交于 2020-04-11 16:42:34
黎孟阳 随笔 - 6, 文章 - 0, 评论 - 0, 引用 - 0 maven+spring mvc+mybatis+redis+dubbo+zookeeper 前面文章讲了创建一个maven聚合工程。接下来讲一下maven里面集成spring mvc+mybatis+dubbo+zookeeper。本章内容只讲配置,不讲原理性的东西,不理解的地方多百度就清楚了。 上章地址: http://www.cnblogs.com/MrLimy/p/8342026.html 为了方便,本章内容所依赖的jar包都放在父工程。 打开demo工程的pom.xml文件添加依赖,本章只添加spring、redis、dubbo的依赖。 <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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.hpsoft.demo</groupId> <artifactId

【MyBatis框架】mapper配置文件-关于动态sql

故事扮演 提交于 2020-04-11 13:26:21
动态sql 1.什么是动态sql mybatis核心 对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。 2.需求 用户信息综合查询列表和用户信息查询列表总数这两个statement的定义使用动态sql。 对查询条件进行判断,如果输入参数不为空才进行查询条件拼接。 3.mapper.xml 原查询语句配置: <mapper namespace="cn.edu.hpu.mybatis.mapper.UserMapper"> <!-- 用户信息综合查询 #{UserCustom.sex}取出包装对象中性别值 ${UserCustom.username}取得pojo包装对象中用户名称 --> <select id="findUserList" parameterType="cn.edu.hpu.mybatis.PO.UserQueryVo" resultType="cn.edu.hpu.mybatis.PO.UserCustom"> select * from user where user.sex=#{userCustom.sex} and user.username like '%${userCustom.username}%' </select> <!-- 用户信息综合查询总数 --> <select id="findUserCount"

mybatis-xml配置

感情迁移 提交于 2020-04-10 17:37:51
XML 映射配置文件 MyBatis 的配置文件包含了影响 MyBatis 行为甚深的设置(settings)和属性(properties)信息。文档的顶层结构如下: configuration 配置 properties 属性 settings 设置 typeAliases 类型命名 typeHandlers 类型处理器 objectFactory 对象工厂 plugins 插件 environments 环境 environment 环境变量 transactionManager 事务管理器 dataSource 数据源 databaseIdProvider 数据库厂商标识 mappers 映射器 properties 这些属性都是可外部配置且可动态替换的,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素来传递。例如: <properties resource="org/mybatis/example/config.properties"> <property name="username" value="dev_user"/> <property name="password" value="F2Fa3!33TYyg"/> </properties> 其中的属性就可以在整个配置文件中使用来替换需要动态配置的属性值。比如:

一个使用MyBatis向Oracle数据库中新增/批量新增数据的例子

你说的曾经没有我的故事 提交于 2020-04-10 17:37:30
我的电脑操作系统版本为Win7旗舰版(ServicePack1),Oracle版本为Oracle11g 程序使用的jar包有:mybatis-3.2.2.jar、ojdbc14-10.2.0.2.0.jar 本例中使用的配置文件mybatis-config.xml、PersonInfo类以及Oracle数据库的表结构,可以参见我的另一篇Blog《一个简单的MyBatis连接Oracle数据库的例子》( http://my.oschina.net/Tsybius2014/blog/626206 ) PersonInfoMapper.java代码如下: import java.util.List; public interface PersonInfoMapper { //获取Sequence作为插入数据库中数据的主键 Long getIdFromSequence(); //插入一条数据 void addPersonInfo(PersonInfo personInfo); //插入多条数据1 void addPersonInfoBatch(List<PersonInfo> list); //插入多条数据2 void addPersonInfoBatch2(List<PersonInfo> list); } 对应的XML文件,PersonInfoMapper.xml代码如下: <?xml

MyBatis连接Oracle数据库的例子

天大地大妈咪最大 提交于 2020-04-10 16:46:15
之前我曾写过一篇博客,提及了如何建立一个最简单的MyBatis连接Oracle数据库的Demo。 博客地址如下: http://my.oschina.net/Tsybius2014/blog/626206 在这篇博客中,我使用了XML配置MyBatis连接数据库相关的内容,并通过MyBatis提供的函数,直接通过XML文件配置的内容,通过SqlSessionFactory建立SqlSession。 本文将说明另一种建立SqlSession,还是使用 SqlSessionFactory ,但不通过XML配置文件建立,而是通过代码直接建立。 我的电脑操作系统版本为Win7旗舰版(ServicePack1),Oracle版本为Oracle11g 程序使用的jar包有:mybatis-3.2.2.jar、ojdbc14-10.2.0.2.0.jar 之前有配置文件mybatis-config.xml内容如下: <?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> <environments default=

mybatis读取oracle中blob

邮差的信 提交于 2020-04-10 15:12:48
controller: byte[] blob = commonService.getPersonImage(bean.getIdCard()); String base64 = new String(blob)); service: TableBean bean = getSqlSessionTemplate().selectOne("getPersonImage", idCard); return bean.getBlob(); bean: public Class tableBean { private byte[] blob; //误区:不要用java.sql.Blob之类的 get.. set.. } xml: <select id="getPersonImage" parameterType="java.lang.String" resultType="tableBean"> SELECT blobColumn FROM tableName WHERE idCard=#{idCard,jdbcType=VARCHAR} </select> 来源: oschina 链接: https://my.oschina.net/u/4360480/blog/3227821

mybatis-generator相关(二)

天涯浪子 提交于 2020-04-10 14:33:44
上一篇对 mybatis-generator-core 源码的基础修改作了说明,也可以说是最想改的地方,这一篇将在此基础上再做进一步的修改。 首先说说上一篇最后提到的关于自定义注释的问题,想实现这个功能就需要修改 org.mybatis.generator.internal.DefaultCommentGenerator 这个类。我将里面一些主要的方法讲下。 addJavaFileComment(CompilationUnit compilationUnit) 给 Java 文件加注释,这个注释是在文件的顶部,也就是 package 上面。 addComment(XmlElement xmlElement) 给生成的 XML 文件加注释。大象将这个方法清空了,不生成注释。 addClassComment(InnerClass innerClass,IntrospectedTable introspectedTable) Java 类的类注释。 请注意红线的 getRemarks() 方法,这个 remarks 属性在原来的 FullyQualifiedTable 里面是没有的,这是大象自己加上去的,就是为了保存表的注释信息。那是在哪里加进去的呢?请看 org.mybatis.generator.internal.db.DatabaseIntrospector 这个类

让MyBatis Generator产生的代码支持分页

删除回忆录丶 提交于 2020-04-10 13:20:33
本文提供一种方法,让MyBatis Generator产生的代码支持分页, 适用于MySQL。 分析 如果要获取分页信息,使用MySQL语句,我们需要怎么做呢? select * from t_user limit 0 , 2 在MySQL系统中,如果要完成一个分页,我们需要指定 limit 的值,也就是需要指定两个数,第一个指定从什么地方开始(示例中为0);另一个指定需要获取多少条数据(示例中为2)。 问题转化 如果要使得产生的 自动产生的代码 具备分页功能的话,那么, Mapper对应的XML中 , select 语句需要多增加两个属性值,比如: limitStart ( 指定从什么位置开始查找 ) limitSize ( 指定找到多少条数据 ) 何处添加 上述已经提到需要两个值 limitStart 和 limitSize ,那么, 我们需要添加在哪里才能有效果呢 ? 以t_news表为例,创建表的SQL语句如下: CREATE TABLE `t_news` ( `news_id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(150) NOT NULL, `content` text NOT NULL, `brief_intro` varchar(255) DEFAULT NULL, `pic_url` varchar

Type handler was null on parameter mapping for property &apos;products&apos;. It was either not specified a...

谁说我不能喝 提交于 2020-04-10 13:05:01
问题总结:数据库用的是postgresql,orm用的是mybatis, mybatis在处理映射的时候,当出现灭有匹配的类型,而你也没有指定其“jdbcType = OTHER”时,会出现 标题的错误 修改前 修改后: 来源: oschina 链接: https://my.oschina.net/u/4305019/blog/3227671