【Mybatis】TypeHandler接口

 1 public interface TypeHandler<T> {
 2
 3
 4
 5     /**
 6
 7      * 用于定义在Mybatis设置参数时该如何把Java类型的参数转换为对应的数据库类型
 8
 9      * @param ps 当前的PreparedStatement对象
10
11      * @param i 当前参数的位置
12
13      * @param parameter 当前参数的Java对象
14
15      * @param jdbcType 当前参数的数据库类型
16
17      * @throws SQLException
18
19      */
20
21     void setParameter(PreparedStatement ps, int i, T parameter,
22
23            JdbcType jdbcType) throws SQLException;
24
25
26
27     /**
28
29      * 用于在Mybatis获取数据结果集时如何把数据库类型转换为对应的Java类型
30
31      * @param rs 当前的结果集
32
33      * @param columnName 当前的字段名称
34
35      * @return 转换后的Java对象
36
37      * @throws SQLException
38
39      */
40
41     T getResult(ResultSet rs, String columnName) throws SQLException;
42
43
44
45     /**
46
47      * 用于在Mybatis通过字段位置获取字段数据时把数据库类型转换为对应的Java类型
48
49      * @param rs 当前的结果集
50
51      * @param columnIndex 当前字段的位置
52
53      * @return 转换后的Java对象
54
55      * @throws SQLException
56
57      */
58
59     T getResult(ResultSet rs, int columnIndex) throws SQLException;
60
61
62
63     /**
64
65      * 用于Mybatis在调用存储过程后把数据库类型的数据转换为对应的Java类型
66
67      * @param cs 当前的CallableStatement执行后的CallableStatement
68
69      * @param columnIndex 当前输出参数的位置
70
71      * @return
72
73      * @throws SQLException
74
75      */
76
77     T getResult(CallableStatement cs, int columnIndex) throws SQLException;
78
79
80
81 }  
时间: 2024-12-22 10:37:38

【Mybatis】TypeHandler接口的相关文章

基于注解的Mybatis mapper 接口注意事项

基于注解的Mybatis mapper 接口功能没有mapper xml配置文件丰富,而且动态sql语句的灵活性不能和xml配置相比. 这里只说一下基于注解的动态sql注意事项: Mybatis提供注解 @InsertProvider, @UpdateProvider,@DeleteProvider和 @SelectProvider来提供动态sql功能. 提供动态sql的方法参数只有2种可能:无参数和一个参数.一个参数又分为2种情况:参数类型和mapper 接口方法参数相同,另一个就是Map<S

MyBatis核心接口和类

MyBatis核心接口和类 SqlSessionFactoryBuilder: SqlSessionFactoryBuilder负责构建SqlSessionFactory.它的最大特点是:用过即丢.一旦创建了SqlSessionFactory对象之后,这个类就不需要存在了,因此SqlSessionFactoryBuilder的最佳范围就是存在于方法体内,也就是局部变量而已. SqlSessionFactory: SqlSessionFactory简单的理解就是创建SqlSession实例的工厂.

Mybatis中接口和对应的mapper文件位置配置详解

Mybatis中接口和对应的mapper文件位置配置详解 原链接为:https://blog.csdn.net/fanfanzk1314/article/details/71480954 今天遇到一个问题是mybatis中接口和对应的mapper文件位置不同,而引起的操作也会不同,在网上找了好久最终找到了方法,这里就简单的解析一下: 我们知道在典型的maven工程中,目录结构有:src/main/java和src/main/resources,前者是用来存放java源代码的,后者则是存放一些资源

mybatis无接口直接调用xml的helloworld

1.首先在库里面创建一张表,sql语句如下: CREATE TABLE `users` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(20) COLLATE utf8_bin DEFAULT NULL, `age` INT(11) DEFAULT NULL, PRIMARY KEY (`id`) ); insert into `users`(`id`,`name`,`age`) values (1,'tome',12),(2,'ja

Mybatis通过接口的方式实现增删改查

导入jar包 [mybatis] [oracle] 生成数据库 1.添加Mybatis的配置文件mybatis-config.xml 在src目录下创建一个mybatis-config.xml文件,如下图所示: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" &q

MyBatis 使用接口增删改查和两表一对一级联查询

导包 总配置文件 <?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> <properties re

Mybatis面向接口式编程

Mybatis面向接口编程 1.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="co

mybatis四大接口之 Executor

[参考文章]:Mybatis-Executor解析 1. Executor的继承结构 2. Executor(顶层接口) 定义了执行器的一些基本操作: public interface Executor { ResultHandler NO_RESULT_HANDLER = null; // 更新 int update(MappedStatement ms, Object parameter) throws SQLException; // 查询,先查缓存,再查数据库 <E> List<

myBatis mapper接口方法重载问题

在mybatis框架中,写dao层的mapper接口时,是不可以进行方法的重载的,下面是截图证明: 当mapper接口中有方法的重载时,会出现异常, 这是mapper接口中定义的两个方法,进行重载: 这是mapper.xml中进行的映射: 这是运行后出现的异常: 当不进行方法的重载时,即:每个方法都有唯一的命名时,在xml中进行映射后,就可以执行,不会出现异常. 所以mybatis中mapper.xml是不会准确映射到Java中的重载方法的.最好不要在mapper接口中使用方法重载. 原文地址: