mysql ,sqlserver 增加Oracle生成javabean
1.BeanRobot.java 代码
package dbRobot; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.sql.Statement; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Properties; import javax.swing.DefaultCellEditor; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableColumn; import javax.swing.table.TableColumnModel; public class BeanRobot extends JFrame { private static final long serialVersionUID = 1L; private JTextField ipFiled; private JTextField dbFiled; private JTextField dbNameFiled; private JTextField tabField; private JTextField packField; private JTextField catField; private JCheckBox checkBox; private JTextField userField; private JTextField pwdField; private JComboBox dbBox; DbUtil dbutil = new DbUtil() ; BeanUtil butil = new BeanUtil(); JLabel labelInfo ; private JTable jtable; private MyTableModel tableModel ; HashMap dbInfoMap; String[] titles = {"选择","表格名称"} ; //配置文件信息 Map<String,HashMap<String,String>> dbMap; public BeanRobot() { setTitle("数据库生成javabean小工具"); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); setBounds(100, 100, 544, 374); JPanel panel = new JPanel(); getContentPane().add(panel, BorderLayout.CENTER); panel.setLayout(null); JLabel lblIp = new JLabel("IP:"); lblIp.setBounds(110, 13, 30, 15); panel.add(lblIp); ipFiled = new JTextField(); ipFiled.setText("localhost"); ipFiled.setBounds(146, 10, 147, 21); panel.add(ipFiled); ipFiled.setColumns(10); JLabel label = new JLabel("数据库:"); label.setBounds(80, 41, 54, 15); panel.add(label); // String dbStyles[] = { }; // dbBox = new JComboBox(dbStyles); dbBox = new JComboBox(); dbBox.setBounds(146, 39, 147, 21); dbBox.setVisible(true); dbBox.setMaximumRowCount(3); panel.add(dbBox); JLabel dbNamelabel = new JLabel("数据库名:"); dbNamelabel.setBounds(70, 67, 60, 20); panel.add(dbNamelabel); dbNameFiled = new JTextField(); dbNameFiled.setBounds(146, 68, 147, 21); dbNameFiled.setText("test"); panel.add(dbNameFiled); dbNameFiled.setColumns(10); JLabel userLabel = new JLabel("用户名:"); userLabel.setBounds(80, 98, 54, 15); panel.add(userLabel); userField = new JTextField(); userField.setText("root"); userField.setBounds(145, 97, 148, 21); panel.add(userField); userField.setColumns(10); JLabel pwdLabel = new JLabel("密码:"); pwdLabel.setBounds(95, 129, 54, 15); panel.add(pwdLabel); pwdField = new JTextField(); pwdField.setText("root"); pwdField.setBounds(145, 126, 147, 21); panel.add(pwdField); pwdField.setColumns(10); JLabel packLabel = new JLabel("包名:"); packLabel.setBounds(95, 160, 54, 15); panel.add(packLabel); packField = new JTextField(); packField.setText(""); packField.setBounds(146, 155, 147, 21); panel.add(packField); packField.setColumns(10); JLabel catlogLabel = new JLabel("输出目录:"); catlogLabel.setBounds(70, 193, 65, 15); panel.add(catlogLabel); catField = new JTextField(); catField.setBounds(146, 190, 147, 21); panel.add(catField); catField.setColumns(10); checkBox = new JCheckBox("生成包结构目录"); checkBox.setSelected(true); checkBox.setBounds(145, 220, 147, 23); panel.add(checkBox); JLabel mustdbLabel = new JLabel("* 选择数据库"); mustdbLabel.setForeground(Color.RED); mustdbLabel.setBounds(303, 39, 176, 15); panel.add(mustdbLabel); JLabel mustIPLabel = new JLabel("* IP地址及端口号"); mustIPLabel.setForeground(Color.RED); mustIPLabel.setBounds(303, 13, 176, 15); panel.add(mustIPLabel); JLabel mustPacklabel = new JLabel("* 包结构"); mustPacklabel.setForeground(Color.RED); mustPacklabel.setBounds(303, 155, 79, 15); panel.add(mustPacklabel); JLabel catlabel = new JLabel("默认D:// ;注意格式"); catlabel.setForeground(Color.RED); catlabel.setBounds(303, 193, 179, 15); panel.add(catlabel); JButton button = new JButton("查询"); // 按钮增加动作执行go()方法 button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { go(); } }); button.setBounds(145, 267, 93, 23); panel.add(button); JButton crButton = new JButton("生成Bean"); // 按钮增加动作执行go()方法 crButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { create(); } }); crButton.setBounds(280, 267, 93, 23); panel.add(crButton); // 增加关闭事件监听,关闭相关操作 this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { super.windowClosing(e); close(); System.exit(0); } }); //设置表格 Object[][] tableData = {}; tableModel = new MyTableModel(tableData,titles); jtable = new JTable(this.tableModel) ; TableColumn column=jtable.getColumnModel().getColumn(0); column.setPreferredWidth(30); //设置第一列的宽度30 JScrollPane scr = new JScrollPane(this.jtable) ; scr.setBounds(430, 10, 200, 290); panel.add(scr); //添加标格监听事件 jtable.addMouseListener(new MouseAdapter(){ public void mouseClicked(MouseEvent e){ int row=jtable.getSelectedRow(); if(jtable.getSelectedColumn()==0)//如果是第一列的单元格,则返回,不响应点击 return; //列响应操作 } }); //显示操作信息label labelInfo = new JLabel(""); labelInfo.setForeground(Color.RED); labelInfo.setBounds(20, 317, 600, 60); panel.add(labelInfo); //初始化配置信息和数据库下拉列表 dbMap = dbutil.getDbConfigMap(); for(String key : dbMap.keySet()){ this.getDbBox().addItem(key); } } public static void main(String[] args) { // TODO Auto-generated method stub // 创建对象 BeanRobot dtb = new BeanRobot(); // 设置可见 dtb.setVisible(true); // 点击X关闭窗口 dtb.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 调用设置居中显示 dtb.setSizeAndCentralizeMe(680, 440); } // 设置居中 private void setSizeAndCentralizeMe(int width, int height) { Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setSize(width, height); this.setLocation(screenSize.width / 2 - width / 2, screenSize.height / 2 - height / 2); } public void create(){ String sucessName = ""; this.getLabelInfo().setText(""); initInfo(); //是否勾选生成目录标识 boolean createPackage = this.getCheckBox().getSelectedObjects() != null; //判断目录是否存在 if (dbInfoMap.get("catName") != null ) { if(dbInfoMap.get("catName").toString().equals("")){ dbInfoMap.put("catName", "D://"); } if((new File(dbInfoMap.get("catName").toString()).isDirectory())!=true){ this.getLabelInfo().setText("目录不存在,请重新输入"); }else{ if(createPackage){ if (dbInfoMap.get("packName") != null && !dbInfoMap.get("packName").toString().equals("")) { String catPack = dbInfoMap.get("catName").toString()+dbInfoMap.get("packName").toString(); catPack = catPack.replace(".", "/"); new File(catPack).mkdirs(); dbInfoMap.put("catName", catPack); } //勾选 int rowCount = this.jtable.getRowCount(); for(int i = 0 ; i< rowCount ; i++){ if(this.jtable.getValueAt(i,0).toString().equals("true")){ String tabName = this.jtable.getValueAt(i,1).toString(); List<Map<String, String>> tabFileds = dbutil.getColumnNames(dbInfoMap, tabName); butil.createBean(tabName, tabFileds,dbInfoMap); sucessName+=tabName+","; } } }else{ int rowCount = this.jtable.getRowCount(); for(int i = 0 ; i< rowCount ; i++){ if(this.jtable.getValueAt(i,0).toString().equals("true")){ String tabName = this.jtable.getValueAt(i,1).toString(); List<Map<String, String>> tabFileds = dbutil.getColumnNames(dbInfoMap, tabName); butil.createBean(tabName, tabFileds,dbInfoMap); sucessName+=tabName+","; } } } this.getLabelInfo().setText("表"+sucessName+"生成成功"); } } } public void go() { this.getLabelInfo().setText(""); initInfo(); String selTableStr = dbInfoMap.get("showTable").toString(); //获取表名 List<String> tableList = dbutil.getTableNames(dbInfoMap,dbInfoMap.get("dbName").toString()); if(tableList == null){ int rowCount = this.getTableModel().getRowCount(); int delInd = 0; while(delInd < rowCount){ this.getTableModel().removeRow(0); delInd++; } this.getLabelInfo().setText("数据库连接异常"); }else{ int rowCount = this.getTableModel().getRowCount(); int delInd = 0; while(delInd < rowCount){ this.getTableModel().removeRow(0); delInd++; } for(String tName : tableList){ Object[] rowData = {new Boolean(false),tName}; this.getTableModel().addRow(rowData); } } } public void initInfo(){ //读取配置文件数据库配置 String user = this.getUserField().getText(); String pass = this.getPwdField().getText(); String ip = this.getIpFiled().getText(); String database = this.getDbNameFiled().getText(); String dbName = this.getDbBox().getSelectedItem().toString(); String packName =this.getPackField().getText(); String catName =this.getCatField().getText(); //处理界面数据 dbInfoMap = new HashMap(); dbInfoMap = dbMap.get(dbName); dbInfoMap.put("userName", user); dbInfoMap.put("userpwd", pass); dbInfoMap.put("jdbc", dbMap.get(dbName).get("JdbcURL")+ip+dbMap.get(dbName).get("dbStr")+database); dbInfoMap.put("driver", dbMap.get(dbName).get("driverClassName")); dbInfoMap.put("dbName", database); dbInfoMap.put("packName", packName); dbInfoMap.put("catName", catName); //Edit By HuangJun 2014-07-07 System.out.println(dbInfoMap); /* * MYSQL * dataSource.driverClassName=com.mysql.jdbc.Driver * dataSource.url=jdbc:mysql://192.168.12.55/fzrating?characterEncoding=utf8 * dataSource.username= fzratingtest * dataSource.password= fzratingtest * {userpwd=fzratingtest, dbName=fzrating, JdbcURL=jdbc:mysql://, catName=f:\, userName=fzratingtest, driverClassName=com.mysql.jdbc.Driver, driver=com.mysql.jdbc.Driver, dbStr=/, showTable=select table_name from information_schema.tables where table_schema = '%', packName=davaDemo, showColumns=show columns from %, jdbc=jdbc:mysql://192.168.12.55:3306/fzrating} */ /* * SQlServer * dataSource.driverClassName=net.sourceforge.jtds.jdbc.Driver * dataSource.url=jdbc:jtds:sqlserver://192.168.12.54:1433/FZ_DEV * dataSource.username= fz_dev * dataSource.password= fz_dev * {userpwd=fz_dev, dbName=fz_dev, JdbcURL=jdbc:sqlserver://, catName=f:\, userName=fz_dev, driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver, driver=com.microsoft.sqlserver.jdbc.SQLServerDriver, dbStr=;databaseName=, showTable=select Name from sysobjects where xtype='u' and status>=0, packName=javaDemo, showColumns=select column_name,data_type from information_schema.columns where table_name = '%', jdbc=jdbc:sqlserver://192.168.12.54:1433;databaseName=fz_dev} */ /* Oracle * dataSourceforSe.driverClassName=oracle.jdbc.driver.OracleDriver * dataSourceforSe.url=jdbc:oracle:thin:@192.168.12.230:1521:demo230 * dataSourceforSe.username=ccxe * dataSourceforSe.password=ccxe * {userpwd=ccxe, dbName=demo230, JdbcURL=jdbc:oracle:thin:@, catName=f:\, userName=ccxe, driverClassName=oracle.jdbc.driver.OracleDriver, driver=oracle.jdbc.driver.OracleDriver, dbStr=:, showTable=SELECT TABLE_NAME FROM USER_TABLES, packName=javaDemo, showColumns=select table_name from dba_tables where owner='CCXE', jdbc=jdbc:oracle:thin:@192.168.12.230:1521:demo230} */ } private void close() { System.out.println("关闭事件"); } public JTextField getIpFiled() { return ipFiled; } public void setIpFiled(JTextField ipFiled) { this.ipFiled = ipFiled; } public JTextField getDbFiled() { return dbFiled; } public void setDbFiled(JTextField dbFiled) { this.dbFiled = dbFiled; } public JTextField getTabField() { return tabField; } public void setTabField(JTextField tabField) { this.tabField = tabField; } public JTextField getPackField() { return packField; } public void setPackField(JTextField packField) { this.packField = packField; } public JTextField getCatField() { return catField; } public void setCatField(JTextField catField) { this.catField = catField; } public JCheckBox getCheckBox() { return checkBox; } public void setCheckBox(JCheckBox checkBox) { this.checkBox = checkBox; } public JTextField getUserField() { return userField; } public void setUserField(JTextField userField) { this.userField = userField; } public JTextField getPwdField() { return pwdField; } public void setPwdField(JTextField pwdField) { this.pwdField = pwdField; } public JTextField getDbNameFiled() { return dbNameFiled; } public void setDbNameFiled(JTextField dbNameFiled) { this.dbNameFiled = dbNameFiled; } public JComboBox getDbBox() { return dbBox; } public void setDbBox(JComboBox dbBox) { this.dbBox = dbBox; } public JLabel getLabelInfo() { return labelInfo; } public void setLabelInfo(JLabel labelInfo) { this.labelInfo = labelInfo; } public JTable getJtable() { return jtable; } public void setJtable(JTable jtable) { this.jtable = jtable; } public MyTableModel getTableModel() { return tableModel; } public void setTableModel(MyTableModel tableModel) { this.tableModel = tableModel; } class MyTableModel extends DefaultTableModel{ public MyTableModel(Object[][] data,String[] columns) { super(data,columns); } public boolean isCellEditable(int row,int column){ //设置Table单元格是否可编辑 if(column==0)return true; return false; } public Class<?> getColumnClass(int columnIndex) { if(columnIndex==0) { return Boolean.class; } return Object.class; } } }
2.BeanUtil.java代码
package dbRobot; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class BeanUtil { public BeanUtil() { // TODO Auto-generated constructor stub } //创建JavaBean文件 public String createBean(String tbName, List<Map<String, String>> collist, Map<String, String> infoMap) { StringBuilder fields = new StringBuilder(); StringBuilder methods = new StringBuilder(); StringBuilder classInfo = new StringBuilder("\t/**\r\n\t*"); for (Map<String, String> colmap : collist) { String field = colmap.get("filed").toString(); String type = typeTrans(colmap.get("type").toString()); fields.append(getFieldStr(field, type)); methods.append(getMethodStr(field, type)); } classInfo.append("\t*@author yangsj"); classInfo.append("\r\n\t*/\r\n\r\n"); classInfo.append("\tpublic class ").append(upperFirestChar(tbName)) .append("{\r\n"); classInfo.append(fields); classInfo.append("\r\n"); classInfo.append(methods); classInfo.append("\r\n"); classInfo.append("}"); File file = new File(infoMap.get("catName"), upperFirestChar(tbName) + ".java"); try { FileWriter fw = new FileWriter(file); if (infoMap.get("packName") == null || infoMap.get("packName").toString().equals("")) { } else { String packageinfo = "package " + infoMap.get("packName").toString() + ";\r\n\r\n"; fw.write(packageinfo); } fw.write(classInfo.toString()); fw.flush(); fw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } //数据库字段类型与JAVA类型转换 public String typeTrans(String type) { if (type.contains("tinyint")) { return "boolean"; } else if (type.contains("int")) { return "int"; } else if (type.contains("datetime")) { return "Date"; } else if (type.contains("BIGINT")) { return "Long"; } else if (type.contains("varchar") || type.contains("date") || type.contains("time") || type.contains("timestamp") || type.contains("text") || type.contains("enum") || type.contains("set")) { return "String"; } else if (type.contains("binary") || type.contains("blob")) { return "byte[]"; } else { return "String"; } } //获取方法字符串 private String getMethodStr(String field, String type) { StringBuilder get = new StringBuilder("\tpublic "); get.append(type).append(" "); if (type.equals("boolean")) { get.append(field); } else { get.append("get"); get.append(upperFirestChar(field)); } get.append("(){").append("\r\n\t\treturn this.").append(field) .append(";\r\n\t}\r\n"); StringBuilder set = new StringBuilder("\tpublic void "); if (type.equals("boolean")) { set.append(field); } else { set.append("set"); set.append(upperFirestChar(field)); } set.append("(").append(type).append(" ").append(field) .append("){\r\n\t\tthis.").append(field).append("=") .append(field).append(";\r\n\t}\r\n"); get.append(set); return get.toString(); } //首字母大写 public String upperFirestChar(String src) { return src.substring(0, 1).toUpperCase().concat(src.substring(1)); } //获取字段 private String getFieldStr(String field, String type) { StringBuilder sb = new StringBuilder(); sb.append("\t").append("private ").append(type).append(" ") .append(field).append(";"); sb.append("\r\n"); return sb.toString(); } }
3.DbUtil.java
package dbRobot; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.sql.DataSource; public class DbUtil { public Statement st ; public DbUtil(){ } /** * paraMap参数 * driverClassName 驱动 * JdbcURL jdbc 该字符串为: config.ini 的JdbcURL+IP地址(含端口号)+dbStr+数据库名称 * userName 数据库名称 * userpwd 数据库密码 * */ public Statement getStatement(Map<String,String> paraMap) { //加载数据库驱动 try { Class.forName(paraMap.get("driver")); Connection conn = DriverManager.getConnection(paraMap.get("jdbc"), paraMap.get("userName"), paraMap.get("userpwd")); if(!conn.isClosed()){ }else{ return null; } // statement用来执行SQL语句 Statement statement = conn.createStatement(); return statement; // 要执行的SQL语句 } catch (Exception e) { // TODO Auto-generated catch block return null; } } //读取数据库表信息 public List<String> getTableNames(Map<String,String> dbInfoMap,String dbName){ List<String> tableList = new ArrayList<String>(); //存储表名 try { st = this.getStatement(dbInfoMap); if(st == null){ return null; } //替换数据库名字占位符 String selTableSql = dbInfoMap.get("showTable").toString().replace("%", dbName); ResultSet tabRs = st.executeQuery(selTableSql); //保存表名 while(tabRs.next()){ tableList.add(tabRs.getString(1)); } }catch (SQLException e) { // TODO Auto-generated catch block return null; } return tableList; } //读取表字段信息 public List<Map<String,String>> getColumnNames(Map<String,String> dbInfoMap,String tabName){ List<Map<String,String>> colList = new ArrayList<Map<String,String>>(); //存储字段信息 try { st = this.getStatement(dbInfoMap); if(st == null){ return null; } //替换表名占位符 String selColumnSql = dbInfoMap.get("showColumns").toString().replace("%", tabName); ResultSet columnRs = st.executeQuery(selColumnSql); while(columnRs.next()){ Map<String,String> colMap = new HashMap<String,String>(); colMap.put("filed", columnRs.getString(1)); colMap.put("type", columnRs.getString(2)); colList.add(colMap); } }catch (SQLException e) { // TODO Auto-generated catch block return null; } return colList; } // 读取配置 public Map<String, HashMap<String, String>> getDbConfigMap() { Map<String, HashMap<String, String>> sectionsMap = new HashMap<String, HashMap<String, String>>(); HashMap<String, String> itemsMap = new HashMap<String, String>(); String currentSection = ""; BufferedReader reader = null; try { //读取当前文件路径下的ini文件 System.out.println(this.getClass().getResourceAsStream("config.ini")); InputStream configStream = this.getClass().getResourceAsStream("config.ini"); reader = new BufferedReader(new InputStreamReader(configStream, "gbk")); String line = null; while ((line = reader.readLine()) != null) { line = line.trim(); if ("".equals(line)) continue; if (line.startsWith("[") && line.endsWith("]")) { itemsMap = new HashMap<String, String>(); currentSection = line.substring(1, line.length() - 1); sectionsMap.put(currentSection, itemsMap); currentSection = ""; }else{ int index = line.indexOf("="); if (index != -1) { String key = line.substring(0, index); String value = line.substring(index + 1, line.length()); itemsMap.put(key, value.trim()); } } } reader.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { if (reader != null) { try { reader.close(); } catch (IOException e1) { e1.printStackTrace(); } } return sectionsMap; } } }
4.数据库连接字符串
/* * MYSQL * dataSource.driverClassName=com.mysql.jdbc.Driver * dataSource.url=jdbc:mysql://192.168.12.55/fzrating?characterEncoding=utf8 * dataSource.username= fzratingtest * dataSource.password= fzratingtest * {userpwd=fzratingtest, dbName=fzrating, JdbcURL=jdbc:mysql://, catName=f:\, userName=fzratingtest, driverClassName=com.mysql.jdbc.Driver, driver=com.mysql.jdbc.Driver, dbStr=/, showTable=select table_name from information_schema.tables where table_schema = '%', packName=davaDemo, showColumns=show columns from %, jdbc=jdbc:mysql://192.168.12.55:3306/fzrating} */ /* * SQlServer * dataSource.driverClassName=net.sourceforge.jtds.jdbc.Driver * dataSource.url=jdbc:jtds:sqlserver://192.168.12.54:1433/FZ_DEV * dataSource.username= fz_dev * dataSource.password= fz_dev * {userpwd=fz_dev, dbName=fz_dev, JdbcURL=jdbc:sqlserver://, catName=f:\, userName=fz_dev, driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver, driver=com.microsoft.sqlserver.jdbc.SQLServerDriver, dbStr=;databaseName=, showTable=select Name from sysobjects where xtype='u' and status>=0, packName=javaDemo, showColumns=select column_name,data_type from information_schema.columns where table_name = '%', jdbc=jdbc:sqlserver://192.168.12.54:1433;databaseName=fz_dev} */ /* Oracle * dataSourceforSe.driverClassName=oracle.jdbc.driver.OracleDriver * dataSourceforSe.url=jdbc:oracle:thin:@192.168.12.230:1521:demo230 * dataSourceforSe.username=ccxe * dataSourceforSe.password=ccxe * {userpwd=ccxe, dbName=demo230, JdbcURL=jdbc:oracle:thin:@, catName=f:\, userName=ccxe, driverClassName=oracle.jdbc.driver.OracleDriver, driver=oracle.jdbc.driver.OracleDriver, dbStr=:, showTable=SELECT TABLE_NAME FROM USER_TABLES, packName=javaDemo, showColumns=select table_name from dba_tables where owner='CCXE', jdbc=jdbc:oracle:thin:@192.168.12.230:1521:demo230} */
5.config.ini 数据库配置
[MySQL] driverClassName=com.mysql.jdbc.Driver JdbcURL=jdbc:mysql:// dbStr=/ showTable=select table_name from information_schema.tables where table_schema = '%' showColumns=show columns from % [SQL_Server] driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver JdbcURL=jdbc:sqlserver:// dbStr=;databaseName= showTable=select Name from sysobjects where xtype='u' and status>=0 showColumns= select column_name,data_type from information_schema.columns where table_name = '%' [ORACLE] driverClassName=oracle.jdbc.driver.OracleDriver JdbcURL=jdbc:oracle:thin:@ dbStr=: showTable=SELECT TABLE_NAME FROM USER_TABLES showColumns= select column_name,data_type from user_tab_columns where Table_Name='%'
6.截图
MySQL.jpg
SQL_Server.jpg
Oracle.jpg
参考了:
http://www.oschina.net/code/snippet_128886_26726
http://marsvaadin.iteye.com/blog/1465592 相关内容。
相关推荐
于是一怒之下,自己动手丰衣足食,就自己用Swing写了一个通过数据库的表生成JavaBean的工具,支持MySQL、Oracle、SQLServce,完美支持JPA注解,可以同时生成Entity和DTO,可以自动去除表前缀,并支持去除多个前缀,...
下载了绝对不后悔,100%好用,支持Mysql Oracle SQL Server ,PostgreSQl.等数据库 还有各种集成的小工具 表名互转驼峰,,,,Json.XML 字符串格式化..JSon与XMl互转,String字符串拼接等功能
JSP+Oracle数据库开发与实例 张晓东,高鉴伟 清华大学出版社 ... 本书适用于使用JSP和Oracle开发动态网站的技术人员以及对相关技术感兴趣的读者,同时可以供使用SQL Server、MySQL等数据库开发网站的读者参考。
支持mysql,Oracle,SqlServer, 支持java c# 。
该工具主要用于数据库表生成对应的javaBean,支持MYSQL,ORACLE,SQLSERVER数据库
支持mysql,Oracle,SqlServer, 支持java c# 。 若需要64位:http://download.csdn.net/detail/x541211190/9784630
一套Web式网络社区软件,天乙社区采用JSP+JavaBean构架,后台可以使用MYSQL、Oracle、SQL Server等多种数据库,适用于Linux/UNIX、Windows等多种操作系统,具有界面简洁、功能强大、操作方便等特点
后台数据库:MS-Access MySql SQLServer Oracle 系统主要完成的功能如下: 客户端 .客户登录 客户注册 .图书选购(可按分类方式查询图书, 或通过关键字查询) .购物车功能 .查看图书详细情况 .查看用户的订单情况 ....
2.1.2 Microsoft SQL Server数据库设计及ODBC配置 2.1.3 Oracle 数据库的基本说明及其使用简介 2.1.4 MySQL的安装及使用简介 2.2 使用JDBC连接数据库 2.2.1 SQLJ基本知识 2.2.2 用PL/SQL和Java建立应用程序的...
由于本人只用过Oracle、DB2、MySQL、MS SQL Server这四款数据库产品,所以制作 成exe可执行文件时只添入了这四款数据库的驱动支持。如果您需要使用这款工具从 其它数据库中生成POJO,那么您可以联系我(Email:...
后台数据库:MySql or MS-Access(系统内置) SQLServer Oracle 系统主要业务: 1、客户信息管理(注册、登录) 2、商品目录维护(类别、子类别、商品细目) 3、动态商品清单 4、购物车 5、收银台 6、自动生成订单
后台数据库:MS-Access\MySql\SQLServer\Oracle 系统主要完成的功能如下: .用户管理 .院系设置 .班级设置 .学生管理 .成绩管理 单人成绩输入 excle批量数据导入 excle格式报表输出 .成绩查询 页面模块化 .三...
案例3-3 连接SQL Server数据库实现员工信息查询 90 3.4 使用JDBC-ODBC桥连接数据源 95 3.4.1 配置数据源 95 3.4.2 连接ODBC数据源 97 案例3-4 实现不同类型数据库之间的数据迁移 99 第4章 Eclipse中Web...
(1)本工具提供了3中连接数据库的方式,分别是:MySql、Oracle、SqlServer,在界面上给出连接示例,方便进行复制和修改(减少因错误配置连接方式而带来了不能链接数据库问题)。配置正确后即可正确读取出数据库中的...
后台数据库:MySql MS-Access SQLServer Oracle 图片制作:jfreeChart 系统主要完成的功能如下: 1、登录 注销 修改密码 2、股票信息查询 数字信息 日K线图 均线图 3、股票信息管理 4、股票交易信息管理 5...
(1)本工具提供了3中连接数据库的方式,分别是:MySql、Oracle、SqlServer,在界面上给出连接示例,方便进行复制和修改(减少因错误配置连接方式而带来了不能链接数据库问题)。配置正确后即可正确读取出数据库中的...
车辆紧急救援系统sqlserver数据库创建语句 车辆紧急救援系统spring+springMVC+hibernate框架对象(javaBean,pojo)设计 车辆紧急救援系统spring+springMVC+mybatis框架对象(javaBean,pojo)设计 车辆紧急救援系统登录...
实验室座位管理系统sqlserver数据库创建语句 实验室座位管理系统spring+springMVC+hibernate框架对象(javaBean,pojo)设计 实验室座位管理系统spring+springMVC+mybatis框架对象(javaBean,pojo)设计 实验室座位管理...
支持多种数据库(MySQL,MariaDB,Oracle,H2,SQLite,PostgreSQL,SQL Server等)并易于扩展。性能良好,接近JDBC的速度; 小文件:Bee V1.8 jar 217k , V1.9.5 jar,315k 。 V1.0 单一实体(表)Suid(选择,...