JDBCSQL语句生成助手封装助手

发布时间:2025-09-21 16:55

AI语音助手成为日常生活助手 #生活知识# #生活感悟# #科技生活变迁# #数字化生活方式#

最新推荐文章于 2024-12-27 09:02:08 发布

原创 于 2012-07-15 01:05:06 发布 · 1.4k 阅读

· 0

· 1 ·

CC 4.0 BY-SA版权

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

用惯框架,来让你写一下JDBC的插入与封装,会让你崩溃的,哈哈,正在做JDBC项目,就现写了个JDBC助手,派上了大用场,呵呵

package com.sharp.hrm.util;

import java.sql.Connection;

import java.sql.DatabaseMetaData;

import java.sql.ResultSet;

import java.sql.ResultSetMetaData;

import java.sql.SQLException;

import java.sql.Statement;

import org.junit.AfterClass;

import org.junit.BeforeClass;

import org.junit.Test;

public class ResultSetMetaData_Test {

private static Connection conn;

private static final String TABLENAME = "hrm_user" ;

private static final String entityClassString = "user";

@BeforeClass

public static void setUp(){

conn = ConnectionFactory.getConnection();

System.out.println("conn---->" + conn);

}

@Test

public void showMetadata() throws SQLException {

DatabaseMetaData md = conn.getMetaData();

System.out.println("getDatabaseMajorVersion: "

+ md.getDatabaseMajorVersion());

System.out.println("getDatabaseMinorVersion: "

+ md.getDatabaseMinorVersion());

System.out.println("getDatabaseProductName: "

+ md.getDatabaseProductName());

System.out.println("getDatabaseProductVersion: "

+ md.getDatabaseProductVersion());

System.out.println("getDefaultTransactionIsolation: "

+ md.getDefaultTransactionIsolation());

System.out.println("getURL: " + md.getURL());

System.out.println("getUserName: " + md.getUserName());

}

@Test

public void showMeatdataOfTable()

throws SQLException {

Statement stm = conn.createStatement();

ResultSet rs = stm.executeQuery("select * from " + TABLENAME);

ResultSetMetaData rmsds = rs.getMetaData();

int count = rmsds.getColumnCount();

if(rs.next()){

for (int i = 1; i <= count; i++) {

System.out.print("列名: " + rmsds.getColumnName(i) + "\t");

System.out.print("数据类型: " + rmsds.getColumnTypeName(i) + "\t");

System.out.print("字段值: " + rs.getObject(rmsds.getColumnName(i)));

System.out.println();

}

System.out.println();

}

}

@Test

public void showMeatdataOfTable_INSERT()

throws SQLException {

Statement stm = conn.createStatement();

ResultSet rs = stm.executeQuery("select * from " + TABLENAME);

ResultSetMetaData rmsds = rs.getMetaData();

int count = rmsds.getColumnCount();

if(rs.next()){

StringBuffer sb = new StringBuffer();

sb.append("INSERT INTO hrm_employee(");

for (int i = 1; i <= count; i++) {

if(!"id".equals(rmsds.getColumnName(i))){

if(i != count){

sb.append(rmsds.getColumnName(i) + ", ");

}else{

sb.append(rmsds.getColumnName(i));

}

}

}

sb.append(") VALUES(");

for (int i = 1; i <= count; i++) {

if(!"id".equals(rmsds.getColumnName(i))){

if(i != count){

sb.append("?,");

}else{

sb.append("?");

}

}

}

sb.append(")");

System.out.println(sb.toString());

}

}

@Test

public void showMeatdataOfTable_SETVALUES()

throws SQLException {

Statement stm = conn.createStatement();

ResultSet rs = stm.executeQuery("select * from " + TABLENAME);

ResultSetMetaData rmsds = rs.getMetaData();

int count = rmsds.getColumnCount();

if(rs.next()){

StringBuffer sb = new StringBuffer();

for (int i = 1; i <= count; i++) {

if(i != count){

sb.append(entityClassString + ".get" + rmsds.getColumnName(i).substring(0,1).toUpperCase() + rmsds.getColumnName(i).substring(1) + "(), ");

}else{

sb.append(entityClassString + ".get" + rmsds.getColumnName(i).substring(0,1).toUpperCase() + rmsds.getColumnName(i).substring(1) + "()");

}

}

System.out.println(sb.toString());

}

}

@Test

public void showMeatdataOfTable_UPDATE()

throws SQLException {

Statement stm = conn.createStatement();

ResultSet rs = stm.executeQuery("select * from " + TABLENAME);

ResultSetMetaData rmsds = rs.getMetaData();

int count = rmsds.getColumnCount();

if(rs.next()){

StringBuffer sb = new StringBuffer();

sb.append("UPDATE SET ");

for (int i = 1; i <= count; i++) {

if(!"id".equals(rmsds.getColumnName(i))){

if(i != count){

sb.append(rmsds.getColumnName(i) + " = ? ,");

}else{

sb.append(rmsds.getColumnName(i) + " = ?");

}

}

}

sb.append(" WHERE id = ? ");

System.out.println(sb.toString());

}

}

@Test

public void showMeatdataOfTable_TOObject()

throws SQLException {

Statement stm = conn.createStatement();

ResultSet rs = stm.executeQuery("select * from " + TABLENAME);

ResultSetMetaData rmsds = rs.getMetaData();

int count = rmsds.getColumnCount();

if(rs.next()){

StringBuffer sb = new StringBuffer();

for (int i = 1; i <= count; i++) {

sb.append(entityClassString + ".set" + FirstCharToUpperCase(rmsds.getColumnName(i)) + "(rs.get" + processType(rmsds.getColumnTypeName(i)+"")+ "(\"" + TABLENAME + "." + rmsds.getColumnName(i) + "\"));\n");

}

System.out.println(sb.toString());

}

}

public static String FirstCharToUpperCase(String name){

return name.substring(0,1).toUpperCase() + name.substring(1);

}

public static String processType (String name){

String result = null;

switch(name){

case "VARCHAR":

result = "String";

break;

case "INT":

result = "Int";

break;

case "TIMESTAMP":

result = "Timestamp";

break;

case "DATETIME":

result = "Timestamp";

break;

}

return result;

}

@AfterClass

public static void tearDown(){

ConnectionFactory.close();

}

}

java

运行

网址:JDBCSQL语句生成助手封装助手 https://www.yuejiaxmz.com/news/view/1321248

相关内容

手机语音助手大全
「小爱语音助手」小爱语音助手(小爱语音助手App)安卓版下载
德语助手
十大语音助手app排行 手机语音助手哪个好 智能语音助手软件推荐
语音助手下载
生活用语实测语音助手
语音助手——简介与交互过程
百度AI语音助手下载——让语音助手成为你的私人助理
智能AI助手:生活小助手,语音操作更方便
【语音助手与智能家居】语音助手的集成与使用

随便看看