zoukankan      html  css  js  c++  java
  • 代码生成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)+"	");
    101                 System.out.print(rs.getString(2)+"   	");
    102                 System.out.print(rs.getString(3)+"   	");
    103                 System.out.print(rs.getString(4)+"	");
    104                 System.out.println("
    ");
    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      
  • 相关阅读:
    转载文章:用.NET开发MSN聊天机器人 MSN聊天机器人开发揭秘
    ppc全屏程序(转)
    表设计中遇到的多对多的关系解决方案 (zt)
    using ZedGraph
    DataTable.Select(expression)
    你认识它吗?什么是QR码?
    分享《Windows Mobile平台应用与开发》源代码
    收藏信息
    六世喇嘛仓央嘉措诗集
    使用Axis开发Web Service程序
  • 原文地址:https://www.cnblogs.com/liva-/p/11296311.html
Copyright © 2011-2022 走看看