代码生成java连接数据库的所需代码(超详细)
开始学习:
round 1:(一开始学习当然还是要一步一步学习的啦,哪有什么一步登天!!!)
a.准备工作:1.eclipse,mysql(这两个软件肯定要的啦,不然学什么把它们连接起来)
2.加载驱动jar包:mysql-connector-java-5.1.40.jar(我用的是这个版本,你们随意!)
b.创建工程,把jar包导进工程中的lib下面,然后右击build path把jar包添加进工程中
c.创建数据库books,添加相关字段
d.创建与数据库的连接及查看数据库信息
1 import java.sql.Connection; 2 import java.sql.DriverManager; 3 import java.sql.PreparedStatement; 4 import java.sql.ResultSet; 5 import java.sql.SQLException; 6 import java.sql.Statement; 7 8 9 10 11 12 /* 13 *连接数据库 14 *加载驱动 15 * 16 * */ 17 18 public class Jdbcutil { 19 // 数据库url:jdbc:数据库名://本地ip:端口号/创建的数据库名字 20 private static String url = "jdbc:mysql://127.0.0.1:3306/books"; 21 // 连接数据库用户名 22 private static String user = "root"; 23 //连接数据库密码 24 private static String password = "123456"; 25 26 // 创建连接method 27 public static Connection getConnection() { 28 Connection conn = null; 29 if (conn == null) { 30 //加载驱动 31 try { 32 Class.forName("com.mysql.jdbc.Driver"); 33 conn = DriverManager.getConnection(url, user, password); 34 } catch (Exception e) { 35 e.printStackTrace(); 36 } 37 } 38 return conn; 39 } 40 41 //关闭连接 42 public static void closeAll(Connection conn, Statement stmt, ResultSet rs) { 43 if (rs != null) { 44 try { 45 rs.close(); 46 } catch (Exception e) { 47 e.printStackTrace(); 48 } 49 } 50 51 if (stmt != null) { 52 try { 53 stmt.close(); 54 } catch (Exception e) { 55 e.printStackTrace(); 56 } 57 } 58 59 if (conn != null) { 60 try { 61 conn.close(); 62 } catch (Exception e) { 63 e.printStackTrace(); 64 } 65 } 66 } 67 68 69 public static int executeUpdate(String sql, Object[] param) { 70 Connection conn = getConnection();// 创建连接 71 PreparedStatement pstmt = null;//sql语句预处理 72 int num = 0; 73 74 try { 75 pstmt = conn.prepareStatement(sql); 76 if (param != null) { 77 for (int i = 0; i < param.length; i++) { 78 pstmt.setObject(i + 1, param[i]); 79 } 80 } 81 num = pstmt.executeUpdate(); 82 } catch (SQLException e) { 83 e.printStackTrace(); 84 } finally { 85 closeAll(conn, pstmt, null); 86 } 87 return num; 88 } 89 90 //对数据库做查询处理 91 public static void main(String[]args) { 92 93 try { 94 Connection conn=getConnection(); 95 String sql="select * from book "; 96 PreparedStatement p=conn.prepareStatement(sql); 97 ResultSet rs=p.executeQuery();//返回的结果集 98 99 while(rs.next()) { 100 System.out.print(rs.getInt(1)+"\t"); 101 System.out.print(rs.getString(2)+" \t"); 102 System.out.print(rs.getString(3)+" \t"); 103 System.out.print(rs.getString(4)+"\t"); 104 System.out.println("\n"); 105 } 106 107 //关闭连接 108 closeAll(conn,p,rs); 109 System.out.println("关闭连接"); 110 } catch (Exception e) { 111 // TODO Auto-generated catch block 112 e.printStackTrace(); 113 } 114 } 115 }
e.查询结果展示
round 2:(可以用映射的方法反向推出连接数据库所需代码,刚好有大佬写了这样一个api)
a.准备工作:1.同样需要数据库连接jar包
2.关于Mybatis-Generator的下载可以到这个地址:https://github.com/mybatis/generator/releases
b.Mybatis-Generator大概架构
c.想要它生成代码在哪里,就修改配置文件xml的位置,完成后启动项目即可
/*截取代码片段,修改位置就是红色标记处*/ 29 <!-- pojo mapper接口 mapper.xml --> 30 <!--通用代码生成器插件 --> 31 <!--mapper接口 --> 32 <!-- ../maker-assistant-service/src/test/java --> 33 <!-- 生成mapper的日志 --> 34 <plugin type="tk.mybatis.mapper.generator.TemplateFilePlugin"> 35 <property name="targetProject" 36 value="src/main/java" /> 37 <property name="targetPackage" 38 value="net.seehope.springboot.mapper" /> 39 <property name="templatePath" value="generator/mapper.ftl" /> 40 <property name="mapperSuffix" value="Mapper" /> 41 <property name="fileName" 42 value="${tableClass.shortClassName}${mapperSuffix}.java" /> 43 </plugin> 44 45