我现在启动测试类想要跑个功能,可是有一个小问题,我需要执行一句sql来查数据,但是这个sql在原本的代码里是没有的。
我又不想去新建一个xml文件手写,有什么办法直接让代码执行sql得到结果么?
sql就是一个简单的查询。
mybatis,spring,java
怎么直接执行sql?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
关注 给你个测试类直接执行
import java.sql.*; import java.sql.DriverManager; import com.mysql.jdbc.Connection; //需要这个jar包 mysql-connector-java-5.1.49.jar import java.util.List; import java.util.ArrayList; import java.util.Map; import java.util.HashMap; public class Test { public void action() throws Throwable { try { int ColumnCount; //int RowCount; String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://127.0.0.1:3306/test"; //换成要连接的数据库信息 String user = "root"; String password = "password"; Class.forName ( driver ); Connection conn = (Connection) DriverManager.getConnection ( url, user, password ); if (!conn.isClosed ()) { System.out.println ( "数据库连接成功:" ); String sqls = "SELECT * FROM test "; //sql PreparedStatement ps = conn.prepareStatement ( sqls ); ResultSet rs = ps.executeQuery (); List list = new ArrayList<String> (); ResultSetMetaData rsmd = rs.getMetaData (); while (rs.next ()) { ColumnCount = rsmd.getColumnCount (); Map<String,Object> rowData = new HashMap<String,Object>(); for (int i = 1; i <= ColumnCount; i++) { rowData.put(rsmd.getColumnName(i),rs.getObject(i)); } //将ResultSet结果集写入list list.add(rowData); } System.out.println ( list ); ps.close (); conn.close (); } } catch (ClassNotFoundException e) { e.printStackTrace (); } catch (SQLException e) { e.printStackTrace (); } } public static void main(String[] args)throws Throwable{ Test test =new Test (); test.action(); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 基于卷积神经网络的声纹识别
- ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
- ¥100 为什么这个恒流源电路不能恒流?
- ¥15 有偿求跨组件数据流路径图
- ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
- ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
- ¥15 CSAPPattacklab
- ¥15 一直显示正在等待HID—ISP
- ¥15 Python turtle 画图
- ¥15 stm32开发clion时遇到的编译问题