自定義typehandler
對于自定義typehandler來說,需要在配置文件中注冊typehandlers 然后需要實現(xiàn)typehandler接口,
一個例子
首先編寫調(diào)度的處理類
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
package com.ming.mybatis; import org.apache.ibatis.type.jdbctype; import org.apache.ibatis.type.typehandler; import org.apache.logging.log4j.logmanager; import org.apache.logging.log4j.logger; import java.sql.callablestatement; import java.sql.preparedstatement; import java.sql.resultset; import java.sql.sqlexception; public class stringtypehandler implements typehandler<string> { private static logger logger = logmanager.getlogger(); /** * 對預(yù)編譯的sql語句進行設(shè)置的時候, * @param ps * @param i * @param parameter * @param jdbctype * @throws sqlexception */ @override public void setparameter(preparedstatement ps, int i, string parameter, jdbctype jdbctype) throws sqlexception { logger.info( "使用typehandler" ); // 設(shè)置預(yù)編譯的sql對象,的string ps.setstring(i, parameter); } /** * 獲得結(jié)果的時候,獲取到列名的時候,調(diào)度此方法 * @param rs * @param columnname * @return * @throws sqlexception */ @override public string getresult(resultset rs, string columnname) throws sqlexception { logger.info( "使用自定義類型,結(jié)果獲取列名字符串" ); return rs.getstring(columnname); } /** * 獲取結(jié)果集中的index * @param rs * @param columnindex * @return * @throws sqlexception */ @override public string getresult(resultset rs, int columnindex) throws sqlexception { logger.info( "在結(jié)果集中獲取columnindex" ); return rs.getstring(columnindex); } /** * 獲取結(jié)果集中的下標(biāo)對應(yīng)的字符串 * @param cs * @param columnindex * @return * @throws sqlexception */ @override public string getresult(callablestatement cs, int columnindex) throws sqlexception { logger.info( "結(jié)果集中,下標(biāo)獲取到字符串" ); return cs.getstring(columnindex); } } |
再次編寫配置文件
1
2
3
|
<typehandlers> <typehandler jdbctype= "varchar" javatype= "string" handler= "com.ming.mybatis.stringtypehandler" > </typehandlers> |
傳入數(shù)據(jù)庫的為的varchar類型,javatype類型為string類型,調(diào)度的類為com.ming.mybatis.stringtypehandler
修改映射文件,說明那些需要對結(jié)果進行修改
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<?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.ming.mybatis.pojo.rolemapper" > <!-- id表示標(biāo)簽標(biāo)識 type標(biāo)識結(jié)果的返回類型,其中role為在配置文件中使用的別名 role類 --> <resultmap type= "role" id= "rolemap" > <!-- id為主鍵映射關(guān)系 其中數(shù)據(jù)庫中的id為主鍵 --> <id column= "id" property= "id" javatype= "int" jdbctype= "integer" /> <!-- result為其他基本數(shù)據(jù)類型和實體類之間的映射 映射關(guān)系為role_name 到 rolename之間的映射 數(shù)據(jù)類型為string到varchar之間的映射關(guān)系 --> <result column= "role_name" property= "rolename" javatype= "string" jdbctype= "varchar" /> <!-- 這里使用typehandler表示遇到此處理集的時候,將會執(zhí)行com.ming.mybatis.stringtypehandler --> <result column= "note" property= "note" typehandler= "com.ming.mybatis.stringtypehandler" /> </resultmap> <!-- 書寫sql語句 定義使用resultmap為rolemap--> <select id= "getrole" parametertype= "int" resultmap= "rolemap" > select id, role_name, note from t_role4 where id = #{id} </select> </mapper> |
其中傳入的參數(shù)為int類型,由于結(jié)果中mybatis沒有int類型,對應(yīng)的是integer類型,在mysql中兩者類型相同,所以修改如上所示,表類型
書寫index.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
<%@ page import = "org.apache.ibatis.session.sqlsession" %> <%@ page import = "com.ming.util.sqlsessionfactoryutil" %> <%@ page import = "com.ming.mybatis.pojo.rolemapper" %> <%@ page import = "com.ming.mybatis.pojo.role" %> <html> <body> <h2>hello world!</h2> <% long starttime = system.currenttimemillis(); //獲取開始時間 sqlsession sqlsession = null ; role role = null ; for ( int i = 0 ; i < 10 ; i++) { try { sqlsession = sqlsessionfactoryutil.opensqlsesion(); rolemapper rolemapper = sqlsession.getmapper(rolemapper. class ); role = rolemapper.getrole( 100 ); sqlsession.commit(); } catch (exception e) { e.printstacktrace(); sqlsession.rollback(); } finally { if (sqlsession != null ) { sqlsession.close(); } } } long endtime = system.currenttimemillis(); //獲取結(jié)束時間 %> <%=role.getnote()%> </body> </html> |
已經(jīng)查詢成功
查看日志文件,日志文件已經(jīng)輸出相關(guān)信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
2019 - 04 - 13 05 : 03 : 33.181 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.openconnection(jdbctransaction.java: 136 ) - opening jdbc connection 2019 - 04 - 13 05 : 03 : 33.181 [debug] org.apache.ibatis.datasource.pooled.pooleddatasource.popconnection(pooleddatasource.java: 397 ) - checked out connection 197673257 from pool. 2019 - 04 - 13 05 : 03 : 33.182 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.setdesiredautocommit(jdbctransaction.java: 100 ) - setting autocommit to false on jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 33.235 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - ==> preparing: select id, role_name, note from t_role4 where id = ? 2019 - 04 - 13 05 : 03 : 33.236 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - ==> parameters: 100 (integer) 2019 - 04 - 13 05 : 03 : 33.275 [info ] com.ming.mybatis.stringtypehandler.getresult(stringtypehandler.java: 48 ) - 使用自定義類型,結(jié)果獲取列名字符串 2019 - 04 - 13 05 : 03 : 33.276 [info ] com.ming.mybatis.stringtypehandler.getresult(stringtypehandler.java: 48 ) - 使用自定義類型,結(jié)果獲取列名字符串 2019 - 04 - 13 05 : 03 : 33.277 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - <== total: 1 2019 - 04 - 13 05 : 03 : 33.277 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.resetautocommit(jdbctransaction.java: 122 ) - resetting autocommit to true on jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 33.312 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.close(jdbctransaction.java: 90 ) - closing jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 33.312 [debug] org.apache.ibatis.datasource.pooled.pooleddatasource.pushconnection(pooleddatasource.java: 362 ) - returned connection 197673257 to pool. 2019 - 04 - 13 05 : 03 : 33.313 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.openconnection(jdbctransaction.java: 136 ) - opening jdbc connection 2019 - 04 - 13 05 : 03 : 33.314 [debug] org.apache.ibatis.datasource.pooled.pooleddatasource.popconnection(pooleddatasource.java: 397 ) - checked out connection 197673257 from pool. 2019 - 04 - 13 05 : 03 : 33.314 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.setdesiredautocommit(jdbctransaction.java: 100 ) - setting autocommit to false on jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 33.346 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - ==> preparing: select id, role_name, note from t_role4 where id = ? 2019 - 04 - 13 05 : 03 : 33.348 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - ==> parameters: 100 (integer) 2019 - 04 - 13 05 : 03 : 33.386 [info ] com.ming.mybatis.stringtypehandler.getresult(stringtypehandler.java: 48 ) - 使用自定義類型,結(jié)果獲取列名字符串 2019 - 04 - 13 05 : 03 : 33.390 [info ] com.ming.mybatis.stringtypehandler.getresult(stringtypehandler.java: 48 ) - 使用自定義類型,結(jié)果獲取列名字符串 2019 - 04 - 13 05 : 03 : 33.391 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - <== total: 1 2019 - 04 - 13 05 : 03 : 33.395 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.resetautocommit(jdbctransaction.java: 122 ) - resetting autocommit to true on jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 33.442 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.close(jdbctransaction.java: 90 ) - closing jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 33.443 [debug] org.apache.ibatis.datasource.pooled.pooleddatasource.pushconnection(pooleddatasource.java: 362 ) - returned connection 197673257 to pool. 2019 - 04 - 13 05 : 03 : 33.443 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.openconnection(jdbctransaction.java: 136 ) - opening jdbc connection 2019 - 04 - 13 05 : 03 : 33.444 [debug] org.apache.ibatis.datasource.pooled.pooleddatasource.popconnection(pooleddatasource.java: 397 ) - checked out connection 197673257 from pool. 2019 - 04 - 13 05 : 03 : 33.444 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.setdesiredautocommit(jdbctransaction.java: 100 ) - setting autocommit to false on jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 33.479 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - ==> preparing: select id, role_name, note from t_role4 where id = ? 2019 - 04 - 13 05 : 03 : 33.480 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - ==> parameters: 100 (integer) 2019 - 04 - 13 05 : 03 : 33.518 [info ] com.ming.mybatis.stringtypehandler.getresult(stringtypehandler.java: 48 ) - 使用自定義類型,結(jié)果獲取列名字符串 2019 - 04 - 13 05 : 03 : 33.519 [info ] com.ming.mybatis.stringtypehandler.getresult(stringtypehandler.java: 48 ) - 使用自定義類型,結(jié)果獲取列名字符串 2019 - 04 - 13 05 : 03 : 33.520 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - <== total: 1 2019 - 04 - 13 05 : 03 : 33.520 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.resetautocommit(jdbctransaction.java: 122 ) - resetting autocommit to true on jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 33.556 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.close(jdbctransaction.java: 90 ) - closing jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 33.557 [debug] org.apache.ibatis.datasource.pooled.pooleddatasource.pushconnection(pooleddatasource.java: 362 ) - returned connection 197673257 to pool. 2019 - 04 - 13 05 : 03 : 33.558 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.openconnection(jdbctransaction.java: 136 ) - opening jdbc connection 2019 - 04 - 13 05 : 03 : 33.558 [debug] org.apache.ibatis.datasource.pooled.pooleddatasource.popconnection(pooleddatasource.java: 397 ) - checked out connection 197673257 from pool. 2019 - 04 - 13 05 : 03 : 33.558 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.setdesiredautocommit(jdbctransaction.java: 100 ) - setting autocommit to false on jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 33.591 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - ==> preparing: select id, role_name, note from t_role4 where id = ? 2019 - 04 - 13 05 : 03 : 33.592 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - ==> parameters: 100 (integer) 2019 - 04 - 13 05 : 03 : 33.638 [info ] com.ming.mybatis.stringtypehandler.getresult(stringtypehandler.java: 48 ) - 使用自定義類型,結(jié)果獲取列名字符串 2019 - 04 - 13 05 : 03 : 33.639 [info ] com.ming.mybatis.stringtypehandler.getresult(stringtypehandler.java: 48 ) - 使用自定義類型,結(jié)果獲取列名字符串 2019 - 04 - 13 05 : 03 : 33.640 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - <== total: 1 2019 - 04 - 13 05 : 03 : 33.640 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.resetautocommit(jdbctransaction.java: 122 ) - resetting autocommit to true on jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 33.676 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.close(jdbctransaction.java: 90 ) - closing jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 33.677 [debug] org.apache.ibatis.datasource.pooled.pooleddatasource.pushconnection(pooleddatasource.java: 362 ) - returned connection 197673257 to pool. 2019 - 04 - 13 05 : 03 : 33.677 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.openconnection(jdbctransaction.java: 136 ) - opening jdbc connection 2019 - 04 - 13 05 : 03 : 33.677 [debug] org.apache.ibatis.datasource.pooled.pooleddatasource.popconnection(pooleddatasource.java: 397 ) - checked out connection 197673257 from pool. 2019 - 04 - 13 05 : 03 : 33.677 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.setdesiredautocommit(jdbctransaction.java: 100 ) - setting autocommit to false on jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 33.711 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - ==> preparing: select id, role_name, note from t_role4 where id = ? 2019 - 04 - 13 05 : 03 : 33.712 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - ==> parameters: 100 (integer) 2019 - 04 - 13 05 : 03 : 33.747 [info ] com.ming.mybatis.stringtypehandler.getresult(stringtypehandler.java: 48 ) - 使用自定義類型,結(jié)果獲取列名字符串 2019 - 04 - 13 05 : 03 : 33.748 [info ] com.ming.mybatis.stringtypehandler.getresult(stringtypehandler.java: 48 ) - 使用自定義類型,結(jié)果獲取列名字符串 2019 - 04 - 13 05 : 03 : 33.748 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - <== total: 1 2019 - 04 - 13 05 : 03 : 33.749 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.resetautocommit(jdbctransaction.java: 122 ) - resetting autocommit to true on jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 33.780 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.close(jdbctransaction.java: 90 ) - closing jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 33.780 [debug] org.apache.ibatis.datasource.pooled.pooleddatasource.pushconnection(pooleddatasource.java: 362 ) - returned connection 197673257 to pool. 2019 - 04 - 13 05 : 03 : 33.781 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.openconnection(jdbctransaction.java: 136 ) - opening jdbc connection 2019 - 04 - 13 05 : 03 : 33.781 [debug] org.apache.ibatis.datasource.pooled.pooleddatasource.popconnection(pooleddatasource.java: 397 ) - checked out connection 197673257 from pool. 2019 - 04 - 13 05 : 03 : 33.781 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.setdesiredautocommit(jdbctransaction.java: 100 ) - setting autocommit to false on jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 33.830 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - ==> preparing: select id, role_name, note from t_role4 where id = ? 2019 - 04 - 13 05 : 03 : 33.831 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - ==> parameters: 100 (integer) 2019 - 04 - 13 05 : 03 : 33.868 [info ] com.ming.mybatis.stringtypehandler.getresult(stringtypehandler.java: 48 ) - 使用自定義類型,結(jié)果獲取列名字符串 2019 - 04 - 13 05 : 03 : 33.870 [info ] com.ming.mybatis.stringtypehandler.getresult(stringtypehandler.java: 48 ) - 使用自定義類型,結(jié)果獲取列名字符串 2019 - 04 - 13 05 : 03 : 33.870 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - <== total: 1 2019 - 04 - 13 05 : 03 : 33.872 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.resetautocommit(jdbctransaction.java: 122 ) - resetting autocommit to true on jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 33.913 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.close(jdbctransaction.java: 90 ) - closing jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 33.914 [debug] org.apache.ibatis.datasource.pooled.pooleddatasource.pushconnection(pooleddatasource.java: 362 ) - returned connection 197673257 to pool. 2019 - 04 - 13 05 : 03 : 33.914 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.openconnection(jdbctransaction.java: 136 ) - opening jdbc connection 2019 - 04 - 13 05 : 03 : 33.915 [debug] org.apache.ibatis.datasource.pooled.pooleddatasource.popconnection(pooleddatasource.java: 397 ) - checked out connection 197673257 from pool. 2019 - 04 - 13 05 : 03 : 33.915 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.setdesiredautocommit(jdbctransaction.java: 100 ) - setting autocommit to false on jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 33.956 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - ==> preparing: select id, role_name, note from t_role4 where id = ? 2019 - 04 - 13 05 : 03 : 33.957 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - ==> parameters: 100 (integer) 2019 - 04 - 13 05 : 03 : 33.994 [info ] com.ming.mybatis.stringtypehandler.getresult(stringtypehandler.java: 48 ) - 使用自定義類型,結(jié)果獲取列名字符串 2019 - 04 - 13 05 : 03 : 33.994 [info ] com.ming.mybatis.stringtypehandler.getresult(stringtypehandler.java: 48 ) - 使用自定義類型,結(jié)果獲取列名字符串 2019 - 04 - 13 05 : 03 : 33.995 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - <== total: 1 2019 - 04 - 13 05 : 03 : 33.995 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.resetautocommit(jdbctransaction.java: 122 ) - resetting autocommit to true on jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 34.029 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.close(jdbctransaction.java: 90 ) - closing jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 34.029 [debug] org.apache.ibatis.datasource.pooled.pooleddatasource.pushconnection(pooleddatasource.java: 362 ) - returned connection 197673257 to pool. 2019 - 04 - 13 05 : 03 : 34.030 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.openconnection(jdbctransaction.java: 136 ) - opening jdbc connection 2019 - 04 - 13 05 : 03 : 34.030 [debug] org.apache.ibatis.datasource.pooled.pooleddatasource.popconnection(pooleddatasource.java: 397 ) - checked out connection 197673257 from pool. 2019 - 04 - 13 05 : 03 : 34.030 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.setdesiredautocommit(jdbctransaction.java: 100 ) - setting autocommit to false on jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 34.095 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - ==> preparing: select id, role_name, note from t_role4 where id = ? 2019 - 04 - 13 05 : 03 : 34.097 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - ==> parameters: 100 (integer) 2019 - 04 - 13 05 : 03 : 34.133 [info ] com.ming.mybatis.stringtypehandler.getresult(stringtypehandler.java: 48 ) - 使用自定義類型,結(jié)果獲取列名字符串 2019 - 04 - 13 05 : 03 : 34.133 [info ] com.ming.mybatis.stringtypehandler.getresult(stringtypehandler.java: 48 ) - 使用自定義類型,結(jié)果獲取列名字符串 2019 - 04 - 13 05 : 03 : 34.134 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - <== total: 1 2019 - 04 - 13 05 : 03 : 34.134 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.resetautocommit(jdbctransaction.java: 122 ) - resetting autocommit to true on jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 34.168 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.close(jdbctransaction.java: 90 ) - closing jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 34.169 [debug] org.apache.ibatis.datasource.pooled.pooleddatasource.pushconnection(pooleddatasource.java: 362 ) - returned connection 197673257 to pool. 2019 - 04 - 13 05 : 03 : 34.170 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.openconnection(jdbctransaction.java: 136 ) - opening jdbc connection 2019 - 04 - 13 05 : 03 : 34.170 [debug] org.apache.ibatis.datasource.pooled.pooleddatasource.popconnection(pooleddatasource.java: 397 ) - checked out connection 197673257 from pool. 2019 - 04 - 13 05 : 03 : 34.171 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.setdesiredautocommit(jdbctransaction.java: 100 ) - setting autocommit to false on jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 34.214 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - ==> preparing: select id, role_name, note from t_role4 where id = ? 2019 - 04 - 13 05 : 03 : 34.215 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - ==> parameters: 100 (integer) 2019 - 04 - 13 05 : 03 : 34.252 [info ] com.ming.mybatis.stringtypehandler.getresult(stringtypehandler.java: 48 ) - 使用自定義類型,結(jié)果獲取列名字符串 2019 - 04 - 13 05 : 03 : 34.252 [info ] com.ming.mybatis.stringtypehandler.getresult(stringtypehandler.java: 48 ) - 使用自定義類型,結(jié)果獲取列名字符串 2019 - 04 - 13 05 : 03 : 34.253 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - <== total: 1 2019 - 04 - 13 05 : 03 : 34.254 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.resetautocommit(jdbctransaction.java: 122 ) - resetting autocommit to true on jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 34.291 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.close(jdbctransaction.java: 90 ) - closing jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 34.291 [debug] org.apache.ibatis.datasource.pooled.pooleddatasource.pushconnection(pooleddatasource.java: 362 ) - returned connection 197673257 to pool. 2019 - 04 - 13 05 : 03 : 34.292 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.openconnection(jdbctransaction.java: 136 ) - opening jdbc connection 2019 - 04 - 13 05 : 03 : 34.292 [debug] org.apache.ibatis.datasource.pooled.pooleddatasource.popconnection(pooleddatasource.java: 397 ) - checked out connection 197673257 from pool. 2019 - 04 - 13 05 : 03 : 34.292 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.setdesiredautocommit(jdbctransaction.java: 100 ) - setting autocommit to false on jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 34.336 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - ==> preparing: select id, role_name, note from t_role4 where id = ? 2019 - 04 - 13 05 : 03 : 34.337 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - ==> parameters: 100 (integer) 2019 - 04 - 13 05 : 03 : 34.379 [info ] com.ming.mybatis.stringtypehandler.getresult(stringtypehandler.java: 48 ) - 使用自定義類型,結(jié)果獲取列名字符串 2019 - 04 - 13 05 : 03 : 34.380 [info ] com.ming.mybatis.stringtypehandler.getresult(stringtypehandler.java: 48 ) - 使用自定義類型,結(jié)果獲取列名字符串 2019 - 04 - 13 05 : 03 : 34.380 [debug] org.apache.ibatis.logging.jdbc.basejdbclogger.debug(basejdbclogger.java: 143 ) - <== total: 1 2019 - 04 - 13 05 : 03 : 34.381 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.resetautocommit(jdbctransaction.java: 122 ) - resetting autocommit to true on jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 34.415 [debug] org.apache.ibatis.transaction.jdbc.jdbctransaction.close(jdbctransaction.java: 90 ) - closing jdbc connection [com.mysql.cj.jdbc.connectionimpl @bc84129 ] 2019 - 04 - 13 05 : 03 : 34.415 [debug] org.apache.ibatis.datasource.pooled.pooleddatasource.pushconnection(pooleddatasource.java: 362 ) - returned connection 197673257 to pool. |
ps 類型轉(zhuǎn)換的問題
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對服務(wù)器之家的支持。
原文鏈接:https://www.iming.info/mybatis-zi-ding-yi-typehandler/