mybat使用注解的方式如@Select写sql
package com.polymer.app.mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select; import com.polymer.app.entity.BussinessDO;
@Mapper
public interface BussinessMapper { BussinessDO selectByPrimaryKey(String paramType); @Select("select PARAM_TYPE, PARAM_VALUE, DESCR, REMARK from bussiness_param where PARAM_TYPE = #{paramType,jdbcType=VARCHAR}")
BussinessDO selectByPrimaryKeyNoXml(String paramType);
}
<?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="com.polymer.app.mapper.BussinessMapper">
<resultMap id="BaseResultMap" type="com.polymer.app.entity.BussinessDO">
<id column="PARAM_TYPE" jdbcType="VARCHAR" property="paramType" />
<result column="PARAM_VALUE" jdbcType="VARCHAR" property="paramValue" />
<result column="DESCR" jdbcType="VARCHAR" property="descr" />
<result column="REMARK" jdbcType="VARCHAR" property="remark" />
</resultMap>
<sql id="Base_Column_List">
PARAM_TYPE, PARAM_VALUE, DESCR, REMARK
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from bussiness_param
where PARAM_TYPE = #{paramType,jdbcType=VARCHAR}
</select>
</mapper>
使用注解的方式要注意的地方:使用mybatis操作数据库有两种方式xml注入和@注解方式,两种方式在项目中是可以共存的。
注解方式:使用注解方式默认需要实体类的属性值和表的列名保持一致,否则无法映射到对应的值;或者使用@Results来手动设置映射关系,优点:看着优雅一点,方便修改,缺点:动态sql语句不好写,比较麻烦
xml形式:很常用的方式,有各种逆向工程可以生成mapper.xml文件,看着比较乱,各种标签满天飞,修改的时候很痛苦。
至于两者运行效率:不管是xml注入还是@注解注入,都是在程序启动的时候加载到bean里面的,所以理论上运行效率不会有明显的区别。
mybat使用注解的方式如@Select写sql的更多相关文章
- Mybatis框架基于注解的方式,实对数据现增删改查
编写Mybatis代码,与spring不一样,不需要导入插件,只需导入架包即可: 在lib下 导入mybatis架包:mybatis-3.1.1.jarmysql驱动架包:mysql-connecto ...
- mybatis 多个接口参数的注解使用方式(@Param)
目录 1 简介 1.1 单参数 1.2 多参数 2 多个接口参数的两种使用方式 2.1 Map 方法(不推荐) 2.1.1 创建接口方法 2.1.2 配置对应的SQL 2.1.3 调用 2.2 @Pa ...
- hibernate用注解的方式实现orm
hibernate 有两种方式实现把一张表映射成一个对象,一种是配置文件的方式,一种是注解的方式.这里用hibernate提供的注解的方式实现一个对象和一张表之间的对应. 思路: 首先在hiberna ...
- Mybatis高级:Mybatis注解开发单表操作,Mybatis注解开发多表操作,构建sql语句,综合案例学生管理系统使用接口注解方式优化
知识点梳理 课堂讲义 一.Mybatis注解开发单表操作 *** 1.1 MyBatis的常用注解 之前我们在Mapper映射文件中编写的sql语句已经各种配置,其实是比较麻烦的 而这几年来注解开发越 ...
- java web学习总结(二十一) -------------------模拟Servlet3.0使用注解的方式配置Servlet
一.Servlet的传统配置方式 在JavaWeb开发中, 每次编写一个Servlet都需要在web.xml文件中进行配置,如下所示: 1 <servlet> 2 <servlet- ...
- JavaWeb学习总结(四十八)——模拟Servlet3.0使用注解的方式配置Servlet
一.Servlet的传统配置方式 在JavaWeb开发中, 每次编写一个Servlet都需要在web.xml文件中进行配置,如下所示: 1 <servlet> 2 <servlet- ...
- 基于注解的方式管理Bean
--------------------siwuxie095 基于注解的方式管理 Bean (一)准备 ...
- Servlet传统配置方式和Servlet3.0使用注解的方式
一.Servlet的传统配置方式 在JavaWeb开发中, 每次编写一个Servlet都需要在web.xml文件中进行配置,如下所示: <servlet> <servlet-name ...
- mybatis--使用接口注解的方式实现Helloword
首先,创建一个数据库my,并在数据库中插入一张表user,然后在user表中插入一行数据,代码如下: create database my; use my; create table user( id ...
随机推荐
- 点击刷新验证码所需要的onclick函数
<img src="__APP__/Public/verify" onclick="this.src=this.src+'?'+Math.random()" ...
- final、finally、finalize区别
final final关键字可以用来修饰类,方法以及成员变量,当用在不同的场景下时具有不同的意义. 修饰类 如果修饰类,则代表这个类不可继承 修饰方法 如果修饰方法,则代表这个方法不可覆写:同时,允许 ...
- 1: unit test
1: se01 进入到TR包里面,创建自己的包.(开发过程中,每个人创建一个包,最后每个包合成一个team的TR包.整个产品将所有的TR包合成,发布. 2:向cds view里面插入假数据 3:使用 ...
- POJ 1986 Distance Queries(LCA Tarjan法)
Distance Queries [题目链接]Distance Queries [题目类型]LCA Tarjan法 &题意: 输入n和m,表示n个点m条边,下面m行是边的信息,两端点和权,后面 ...
- 让hive的表注释和字段注释支持中文
此处用的数据库类型为mysql.发现hive在初始化创建这些表的时候,大部分字段的字符集给设置成了latin1,然后collation设成了latin1_bin. 但是我们在hive中创建表时,表注释 ...
- Python记录13:软件开发目录规范
软件开发目录规范 开发一个软件,一个工程项目,一般应该具备以下的几个基本的文件夹和模块,当然,这并不是一成不变的,根据项目的不同会有一定的差异,不过作为一个入门级的新手,建议暂时按照以下的规范编写: ...
- java之WebService
链接:https://www.jianshu.com/p/1c145315da47 WebService介绍 首先我们来谈一下为什么需要学习webService这样的一个技术吧.... 问题一 如果我 ...
- Linux+DDoS deflate 预防DDoS攻击
使用DDoS脚本防止DDoS攻击 使用DDoS脚本防止DDoS攻击: DDoS概述: 分布式拒绝服务(DDoS:Distributed Denial of Service)攻击,指借助于客户/服务 ...
- 【Spark-SQL学习之一】 SparkSQL
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark ...
- React 最简单的入门教程
一看就懂的ReactJs入门教程(精华版) 现在最热门的前端框架有AngularJS.React.Bootstrap等.自从接触了ReactJS,ReactJs的虚拟DOM(Virtual D ...