`
huang_jf
  • 浏览: 5492 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

MyBatis 3 常用Sql配置

阅读更多
MyBatis 3 常用Sql配置
<?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">
<!-- namespace必须指向Dao接口 -->
<mapper namespace="com.nawaa.security.persistence.UsersMapper">

	<resultMap id="userRolesResultMap" type="Users">
		<result property="username" column="username" />
		<result property="password" column="password" />
		<collection property="rolesList" ofType="Roles">
			<result property="roleName" column="rolename" />
		</collection>
	</resultMap>

	<select id="selectUserRoles" parameterType="string"
		resultMap="userRolesResultMap">
		SELECT t1.`username`,t1.`password`,t2.`rolename` FROM cms_users t1 LEFT JOIN cms_user_roles t2 ON t1.`username` = t2.`username` WHERE 1 > 0
		AND t1.`username` = #{value}
	</select>
	
</mapper>

UsersMapper
import com.nawaa.security.domain.Users;

public interface UsersMapper {
	Users selectUserRoles(String username);
}


Users
import java.util.ArrayList;
import java.util.List;

public class Users {
	public String username;
	
	public String password;
	
	public List<Roles> rolesList = new ArrayList<Roles>();

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public List<Roles> getRolesList() {
		return rolesList;
	}

	public void setRolesList(List<Roles> rolesList) {
		this.rolesList = rolesList;
	}

}


Spring3配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee"
	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jpa="http://www.springframework.org/schema/data/jpa"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
		http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd
		http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
		http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd"
	default-lazy-init="true">

	<description>Spring公共配置 </description>

	<!-- enable autowire -->
	<context:annotation-config />
	<tx:annotation-driven />
	<context:component-scan base-package="com.nawaa.security.service,com.nawaa.nhcms.service" />

	<context:property-placeholder
		ignore-resource-not-found="true" location="classpath*:/application.properties" />

	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<!-- Connection Info -->
		<property name="driverClassName" value="${jdbc.driver}" />
		<property name="url" value="${jdbc.url}" />
		<property name="username" value="${jdbc.username}" />
		<property name="password" value="${jdbc.password}" />

		<!-- Connection Pooling Info -->
		<property name="maxActive" value="${dbcp.maxActive}" />
		<property name="maxIdle" value="${dbcp.maxIdle}" />
		<property name="defaultAutoCommit" value="false" />
		<!-- 连接Idle一个小时后超时 -->
		<property name="timeBetweenEvictionRunsMillis" value="3600000" />
		<property name="minEvictableIdleTimeMillis" value="3600000" />
	</bean>

	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="typeAliasesPackage" value="com.nawaa.security.domain,com.nawaa.nhcms.domain" />
	</bean>

	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.nawaa.security.persistence, com.nawaa.nhcms.persistence" />
	</bean>

	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource" />
	</bean>

	<bean id="bootstrapDataPopulator" class="com.nawaa.BootstrapDataPopulator">
		<property name="dataSource" ref="dataSource" />
	</bean>
</beans>


MyBatis3 操作Mysql二进制数据Sql配置
<?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">
<!-- namespace必须指向Dao接口 -->
<mapper namespace="com.nawaa.cms.persistence.BinaryDataMapper">
	<resultMap id="binaryResultMap" type="BinaryData">
		<result property="id" column="id" />
		<result property="content" column="content" javaType="byte[]" typeHandler="org.apache.ibatis.type.ByteArrayTypeHandler" />
	</resultMap>

	<select id="select" parameterType="string" resultMap="binaryResultMap">
	<![CDATA[
		SELECT id, site, type, linkid, path, content, createtime FROM cms_binarydata WHERE linkid = #{value}
	]]>

	<insert id="insert">
	<![CDATA[
		INSERT INTO cms_binarydata(id, site, type, linkid, path, content, createtime)
		VALUES(#{id}, #{site}, #{type}, #{linkid}, #{path},  #{content, javaType=byte[], jdbcType=BLOB, typeHandler=org.apache.ibatis,type.ByteArrayTypeHandler}, #{createtime});
	]]>
	</insert>
	</select>
</mapper>


未完待续
分享到:
评论

相关推荐

    Mybatis中的动态SQL语句解析

     Mybatis常用xml配置的方式,使用xml的几个简单的元素,便能完成动态SQL的功能,大量的判断都可以在mybaties的映射xml里面配置,以达到许多需要大量代码才能实现的功能,大大减少了代码量,体现了Mybatis的灵活、

    SSM框架的学习与应用-Java EE企业级应用开发学习记录(第三天)Mybatis的深入学习(动态sql的操作)

    3.项目的数据库文件SQL包含数据结构和数据 4.包含所有的mapper,已经各个SQL映射语句的测试类,可以帮助快速理解! 详细解释了什么是动态SQL,可以根据不同条件动态构建SQL语句,避免大量重复代码。 介绍了动态SQL常用...

    springmvc mybatis 自动生成

    你自定义的项目名称后在Test包中有2个java类GeneratorConfig,AutoGenerator ,其中GeneratorConfig中配置的是数据库以及包设置的配置信息,使用的时候需要 自己进行改动,AutoGenerator为main方法类,修改完配置...

    MyBatis动态SQL是一项强大的特性,它允许我们在编写SQL语句时根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的

    MyBatis会根据标签和函数的配置,结合实际的参数值,动态地构建出最终的SQL语句。这样,我们就无需手动编写大量的SQL语句,也无需担心因为条件变化而导致的SQL语句错误。 此外,MyBatis动态SQL还

    node-v12.22.1-linux-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    基于微信小程序的校园综合服务小程序

    大学生毕业设计、大学生课程设计作业

    node-v7.8.0-linux-armv7l.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    毕业设计:Python招聘分析系统论文(源码 + 数据库 + 说明文档)

    毕业设计:Python招聘分析系统论文(源码 + 数据库 + 说明文档) 2 需求分析 9 2.1功能需求分析 9 2.2 可行性分析 9 2.2.1 技术可行性 9 2.2.2 经济可行性 9 2.2.3 操作可行性 10 2.2.4 发展可行性 10 2.3系统性需求分析 10 2.4招聘分析系统管理功能 11 3 总体设计 12 3.1 系统结构 12 3.2 数据库设计 12 3.2.1 数据库实体 12 3.2.2 数据库表设计 13 4 运行设计 15 4.1 招聘热门行业分析 15 4.2热门岗位分析界面 15 4.3招聘岗位学历分析界面 16 4.4岗位分布分析界面 16 5 系统测试 18 5.1测试环境与条件 18 5.2功能测试 18 5.3安全测试 18 5.4可用性测试 18 5.5测试结果分析 19

    win11修复-网络正常-永远是地球小图标的bug

    win11修复-网络正常-永远是地球小图标的bug

    node-v7.8.0-linux-armv6l.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    源代码-360通用ASP防护代码(防sql注入).zip

    源代码-360通用ASP防护代码(防sql注入).zip

    node-v10.14.1-win-x86.zip

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    飞行昆虫机器人3D模型

    飞行昆虫机器人

    Excel销售数据可视化文件

    包含切片器可视化大屏、函数动态图表

    毕业设计:python信息加密解密网站的设计与实现(源码 + 数据库 + 说明文档)

    毕业设计:python信息加密解密网站的设计与实现(源码 + 数据库 + 说明文档) 第2章 可行性分析 3 2.1 业务流程图 3 2.2 经济可行性 4 2.3 技术可行性 4 2.4 运行可行性 4 2.5 本章小结 4 第3章 需求分析 5 3.1 信息加密解密系统的发展情况 5 3.2 信息加密解密管理平台的需求分析 5 3.3 数据字典 5 3.4 本章小结 6 第4章 总体设计 7 4.1 系统模块总体设计 7 4.2 数据库设计 9 4.2.1 数据分析 9 4.2.2 数据库的详细设计 10 4.3 本章小结 12 第5章 详细设计与实现 13 5.1 系统运行平台设置 13 5.2 运行环境 13 5.3 开发工具及技术简介 13 5.3.1 开发工具简介 14 5.3.4 技术简介 14 5.4 加密算法技术简介 14 5.5 系统首页设计 15 5.6 系统基本功能设计与实现 15 5.6.1 登录模块设计与实现 15 5.6.2 系统信息展示模块设计与实现 17 5.6.3 信息加密解密的设计与实现 17 5.6.4 用户信息维护模块的设计

    python+pyside6+缝合怪练手程序

    没有意义,纯属练手

    VMware控制台源码

    VMware控制台源码

    9975b93719be3934e351c5ce44c86898.pdf

    9975b93719be3934e351c5ce44c86898.pdf

    node-v7.6.0-linux-armv6l.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    人脸识别神经网络,数据集为CelebA,基于Pytorch实现,采用彼此独立的40个卷积神经网络,可识别脸部40个特征

    人脸识别神经网络,数据集为CelebA,基于Pytorch实现 采用彼此独立的40个卷积神经网络,没有共享权重因此算法较慢,可识别脸部40个特征。 包括: 5_o_Clock_Shadow:刚长出的双颊胡须 Arched_Eyebrows:柳叶眉 Attractive:吸引人的 Bags_Under_Eyes:眼袋 Bald:秃头 Bangs:刘海 Big_Lips:大嘴唇 Big_Nose:大鼻子 Black_Hair:黑发 Blond_Hair:金发 Blurry:模糊的 Brown_Hair:棕发 Bushy_Eyebrows:浓眉 Chubby:圆胖的 Double_Chin:双下巴 Eyeglasses:眼镜 Goatee:山羊胡子 Gray_Hair:灰发或白发 Heavy_Makeup:浓妆 High_Cheekbones:高颧骨 Male:男性 Mouth_Slightly_Open:微微张开嘴巴 Mustache:胡子,髭 Narrow_Eyes:细长的眼睛 No_Beard:无胡子 Oval_Face:椭圆形的脸

Global site tag (gtag.js) - Google Analytics