Mybatis的resultMap返回map问题
程序员文章站
2022-03-02 18:27:13
目录resultmap返回map问题简单封装resultmap返回对象为mapresultmap返回map问题
resultmap返回map问题
<resultmap type="map" id="bankmaintainmap"> <result column="bank_name" property="bankname"/> <result column="maintain_time_interval" property="maintaintimeinterval"/> </resultmap> <select id="getmaintainnotice" parametertype="map" resultmap="bankmaintainmap"> select bank_name, maintain_time_interval from fp_channel_prd_bank where channel_prd_id=7 and maintain_time_interval </select>
简单封装resultmap返回对象为map
public class dbutils { private static string host = "47.93.******"; private static string port = "3306"; private static string username = "*****"; private static string password = "******"; private static string database = "******"; static { try { class.forname("com.mysql.jdbc.driver"); } catch (exception e) { } } private static connection getconn() { connection conn = null; try { string url = "jdbc:mysql://" + host + ":" + port + "/" + database; conn = drivermanager.getconnection(url, username, password); } catch (exception e) { e.printstacktrace(); } return conn; } public static list<map<string, object>> execquery(string sql, object[] args) throws exception { connection conn = getconn(); preparedstatement ps = conn.preparecall(sql); resultset rs = null; int count = stringutils.countmatches(sql, "?"); //变量赋值。。。。。。 for (int i = 0; i < count; i++) { ps.setobject(i, args[i]); } list<map<string, object>> list = new arraylist<map<string, object>>(); rs = ps.executequery(); resultsetmetadata metadata = rs.getmetadata(); //注意。。metadata.getcolumnname 获取字段名,rs.getobject 获取属性 是从 1 开始的,而不是从0 开始 while (rs.next()) { int rowsize = metadata.getcolumncount(); map<string, object> map = new hashmap<>(); for (int i = 1; i <= rowsize; i++) { string labelname = metadata.getcolumnname(i); object obj = rs.getobject(labelname); map.put(labelname, obj); } list.add(map); } close(conn, ps, rs); return list; } /** * @param conn * @param ps * @param rs * @throws exception */ private static void close(connection conn, preparedstatement ps, resultset rs) throws exception { rs.close(); ps.close(); conn.close(); }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
推荐阅读
-
关于iOS导航栏返回按钮问题的解决方法
-
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
-
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
-
解决Python3 被PHP程序调用执行返回乱码的问题
-
表单提交错误后返回内容消失问题的解决方法(PHP网站)
-
传入一个Map
返回它按value排序后的结果 -
解决php接收shell返回的结果中文乱码问题
-
Hibernate通过SQL查询常量时只返回第一个字符问题的解决方法
-
mybatis generator对于同一个表生成多次代码的问题
-
关于多个Ajax请求执行返回先后的问题示例探讨