根据bean在数据库创建表

本文介绍了如何通过Java Bean来自动创建对应的数据库表,包括Bean属性与数据库字段的映射,以及利用ORM框架进行数据库操作的方法。
摘要由CSDN通过智能技术生成
package com.ibabo.jxpt.service.util.common;

import java.io.File;
import java.io.FileReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 
 * DB_URL 数据库url 注:应以'/'结尾 而且不应该带数据库名
 * DATABASE 数据库名
 * IS_CREATE_DATABASE 是否创建数据库 如果true且数据库存在会发生Exception异常
 * USER 账号
 * PASS 密码
 * FILE_PATH 要生成数据库表的Bean文件所在的文件夹
 * map key是数据库表名,value是字段名数组
 * IS_Alter_TABLE 是否修改数据库名
 * IS_CREATE_TABLE  是否新建表
 * 
 * @author mc
 * 
 */
public class Instance {
   

    private static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    private static final String DB_URL = "jdbc:mysql://localhost/";
    private static final String DATABASE = "juxinpt1";
    private static final boolean IS_CREATE_DATABASE = false;
    private static final boolean IS_Dentify_TABLE = true;
    private static final boolean IS_CREATE_TABLE = false;
    private static final String USER = "root";
    private static final String PASS = "123";
    private static final String FILE_PATH = "D:\\work_file\\juxinpt\\juxinpt-service\\src\\main\\java\\com\\ibabo\\jxpt\\service\\domain";
    private static StringBuffer sb = new StringBuffer();
    private static Map<String, List<String[]>> map = new HashMap();
    private static int index;

 
    public static void main(String[] args) throws Exception {
   
        Class.forName(JDBC_DRIVER);
        //是否要创建数据库
        if(IS_CREATE_DATABASE){
   
            String sql = "create database "+DATABASE+" character set utf8 collate utf8_general_ci";
            if(!executeUpdate(DB_URL, sql)){
   
                System.err.println("创建数据库失败.");
          
以下是一个简单的Java代码示例,用于创建一个Bean类并从数据库中查询数据: 1.创建Bean类 public class Student { private int id; private String name; private int age; private String gender; // 构造函数 public Student(int id, String name, int age, String gender) { this.id = id; this.name = name; this.age = age; this.gender = gender; } // Getter和Setter方法 public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } } 2.查询数据库 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; public class StudentDao { // JDBC驱动器和数据库URL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost:3306/testdb"; // 数据库用户名和密码 static final String USER = "root"; static final String PASS = "123456"; public List<Student> getAllStudents() { Connection conn = null; PreparedStatement stmt = null; ResultSet rs = null; List<Student> students = new ArrayList<Student>(); try { // 注册JDBC驱动器 Class.forName(JDBC_DRIVER); // 打开一个连接 conn = DriverManager.getConnection(DB_URL, USER, PASS); // 执行查询 String sql = "SELECT id, name, age, gender FROM students"; stmt = conn.prepareStatement(sql); rs = stmt.executeQuery(); // 处理结果集 while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); String gender = rs.getString("gender"); Student student = new Student(id, name, age, gender); students.add(student); } } catch (SQLException se) { se.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { // 清理资源 try { if (rs != null) { rs.close(); } if (stmt != null) { stmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException se) { se.printStackTrace(); } } return students; } } 3.使用查询 public class Test { public static void main(String[] args) { StudentDao dao = new StudentDao(); List<Student> students = dao.getAllStudents(); for (Student student : students) { System.out.println(student.getId() + ", " + student.getName() + ", " + student.getAge() + ", " + student.getGender()); } } } 以上代码将从数据库中检索所有学生,并将其打印到控制台。您可以根据需要进行修改以满足您的具体要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值