mybatis 代理方式对数据库进行操作

UserMapper.xml文件

<span style="font-family:Courier New;"><?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命名空间,等于mapper接口的地址 -->
<mapper namespace="cn.itcast.mapper.UserMapper">
	<select id="findById" parameterType="int" resultType="user">
		select * from user where id=#{id}
	</select>
	<select id="findUserByName" parameterType="java.lang.String" resultType="user">
		select * from user where username like "%${value}%"
	</select>
	<update id="updateUser" parameterType="cn.itcast.domain.User">
		update user set username=#{username},birthday=#{birthday},sex=#{sex},address=#{address} where id=#{id}
	</update>
	<delete id="deleteUser" parameterType="int">
		delete from user where id=#{id}
	</delete>
	<insert id="insertUser" parameterType="cn.itcast.domain.User">
		insert into user(username,birthday,sex,address) value(#{username},#{birthday},#{sex},#{address});
	</insert>
</mapper></span>

举例说明:

<mapper namespace="cn.itcast.mapper.UserMapper">

<select id="findById" parameterType="int" resultType="user">

select * from user where id=#{id}

</select>

namespace:就是UserMapper接口的地址即接口UserMapper的全路径名

id:这里的id的值就是UserMapper接口中定义的方法名,要保持一致

parmeterType:这里的值必须和UserMapper接口中方法的参数名的类型保持一致

resultType:这里的值必须和UserMapper接口中方法的返回值的类型保持一致

Usermapper

package cn.itcast.mapper;

import java.util.List;

import cn.itcast.domain.Customer;
import cn.itcast.domain.User;
import cn.itcast.domain.UserQueryVo;

public interface UserMapper {
	public User findById(int id);
	public List<User> findUserByName(String name);
	public void updateUser(User user);
	public void deleteUser(int id);
	public void insertUser(User user);
	public List<Customer> findAllUsersList(UserQueryVo userQueryVo);
	public  User findUserResultType(int id);
	public int findUserCount();
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-18 05:32:43

mybatis 代理方式对数据库进行操作的相关文章

使用原生JDBC方式对数据库进行操作

使用原生JDBC方式对数据库进行操作,包括六个步骤: 1.加载JDBC驱动程序 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM.可以通过java.lang.Class类的静态方法forName(String className)实现,成功加载后,会将Driver类的实例注册到DriverManager类中. 代码如下: Class.forName("com.mysql.jdbc.Driver"); Class.forName()方法内部实现包括两部分:类加载.类初始化. 1

mybatis 使用resultMap实现数据库的操作

resultType:直接表示返回类型 resultMap:对外部resultMap的引用 二者不能同时使用 创建一个实体类Role和User public class Role { private Integer id; private String roleCode; private String roleName; //省略set.get方法 创建User类(在User中有roleId   1对多关系) public class User { private Integer id; pri

MyBatis开发Dao层的两种方式(Mapper动态代理方式)

MyBatis开发原始Dao层请阅读我的上一篇博客:MyBatis开发Dao层的两种方式(原始Dao层开发) 接上一篇博客继续介绍MyBatis开发Dao层的第二种方式:Mapper动态代理方式 Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上一篇博客中Dao接口实现类方法. Mapper接口开发需要遵循以下规范: (1)Mapper.xml文件中的namespace与mapper接口的类路

Mybatis实现简单的数据库增删改查操作

Mybatis实现简单的数据库增删改查操作 框架:mybatis(3.5.2) 数据库:mysql 工具:idea 1.新建一个maven项目,在pom文件中添加mybatis依赖及MySQL依赖 <!-- mybatis核心依赖 --> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId&g

OleContainer操作Excel以二进制方式读写数据库

需求源头:OleContainer操作Excel,想把Excel以二进制方式存入数据库,并且以二进制方式读取存入流:Procedure SaveToStream(ADOTable1: TAdoTable)var  vStream: TMemoryStream;begin try   try    vStream := TMemoryStream.Create;    vStream.Clear;    OleContainer1.SaveToStream(vStream);    vStream

mybatis代理机制讲解

问题描述 在使用Mybatis开发中,或者和Spring整合中,在Dao层中的Mapper接口与xml中的sql对应着,在service中直接调用Dao中的方法就可以直接访问sql.如下所示: /** * interface 层的代码 */ public interface ArticleMapper { Article selectByPrimaryKey(Integer id); } 在xml中,我们的sql语句这样定义: <!-- xml中对应的sql --> ... <selec

Oracle 数据库常用操作语句大全

Oracle 数据库常用操作语句大全 一.Oracle数据库操作 1.根据删除的时间查询出被删除的数据 select * from szdj_work_plan AS OF TIMESTAMP TO_TIMESTAMP('2018-1-19 16:51:37', 'yyyy-mm-dd hh24:mi:ss') where subject='测试一下删除0119' 1.表中唯一的最大的值 select hibernate_sequence.nextval from dual 1.创建数据库 cr

mybatis ——xml方式与动态sql

mybatis的真正强大之处在于它的映射语句,所以映射器的xml方式就显得相对简单 为啥子Mapper接口没有实现类,却可以被调用那? mybatis使用java动态代理可以直接调用接口来调用相应的方法,不需要提供接口的实现类.当调用一个接口的方法时,会调用接口的全限定名称和当前调用方法的名称组成一个方法id,这个id就是xml映射文件中的namespace和具体方法的id,这样接口和xml就关联了.当调用mapper接口,通过代理转化成对xml里对应方法的调用. mybatis使用预编译参数的

程序中数据库的操作历史和对数据库操作的实体类注意事项

稍微了解一下程序中数据库操作历史吧! 1.首先是JDBC连接 2.c3p0 3.JPA JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. 4.hibernate 实现了全自动的ORM(对象关系映射) 数据持久化:用户只需要操作对象即可,内部将对象最终转化为sql. 结果集映射:将sql执行后的结果自动的映射为对象 缺点: 耗费内存 会形成冗余的sql,执行的效率较低