日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

dbinfo.properties mysql_java 8.0Mysql 助手类

發(fā)布時間:2023/12/18 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dbinfo.properties mysql_java 8.0Mysql 助手类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

由于mysql版本問題, 8.0的配置文件變了

配置文件

driverClassName = com.mysql.cj.jdbc.Driver

url = jdbc:mysql://localhost:3306/studentmanage?\

characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true

username = root

password = 123456

Sqlhelper

package edu.rjxy.xjdx.emps.common.utils;

import java.io.IOException;

import java.io.InputStream;

import java.lang.reflect.Method;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.ResultSetMetaData;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.Collections;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.Properties;

import java.sql.*;

public class SqlHelper {

private static Connection conn = null;

private static PreparedStatement ps = null;

private static ResultSet rs = null;

//連接數據庫的參數

private static String url = null;

private static String userName =null;

private static String driver =null;

private static String passwd =null;

private static CallableStatement cs = null;

private static Properties pp = null;

private static InputStream fis = null;

public static CallableStatement getCs() {

return cs;

}

public static Connection getCt() {

return conn;

}

public static PreparedStatement getPs() {

return ps;

}

public static ResultSet getRs() {

return rs;

}

static {

try {

pp = new Properties();

fis = SqlHelper.class.getClassLoader().getResourceAsStream("dbinfo.properties");//配置文件

pp.load(fis);

url = pp.getProperty("url");

driver = pp.getProperty("driverClassName");

userName = pp.getProperty("username");

passwd = pp.getProperty("password");

Class.forName(driver);

}

catch (Exception e) {

e.printStackTrace();

}

finally {

try {

fis.close();

}

catch(IOException e) {e.printStackTrace();}

fis = null;//垃圾回收站上收拾

}

}

public static Connection getConnection() {

try {

conn = DriverManager.getConnection(url, userName,passwd);

}

catch(Exception e) {e.printStackTrace();}

return conn;

}

//*************callPro1存儲過程函數1*************

public static CallableStatement callPro1(String sql, String[] parameters) {

try {

conn = getConnection();

cs = conn.prepareCall(sql);

if(parameters!=null) {

for(int i = 0; i < parameters.length; ++i) {

cs.setObject(i + 1, parameters[i]);

}

}

cs.execute();

}

catch(Exception e) {

e.printStackTrace(); throw new RuntimeException(e.getMessage());

} finally {

close(rs,cs, conn);

}

return cs;

}

//*******************callpro2存儲過程2************************

public static CallableStatement callPro2(String sql, String[] inparameters, Integer[] outparameters) {

try {

conn = getConnection();

cs = conn.prepareCall(sql);

if(inparameters != null) {

for(int i = 0; i < inparameters.length; ++i) {

cs.setObject(i+1,inparameters[i]);

}

}

//cs.registerOutparameter(2,oracle.jdbc.OracleTypes.CURSOR);

if(outparameters != null) {

for(int i = 0; i < outparameters.length; ++i) {

cs.registerOutParameter(inparameters.length+1+i,outparameters[i]);

}

}

cs.execute();

}

catch(Exception e) {

e.printStackTrace(); throw new RuntimeException(e.getMessage());

}

finally {

}

return cs;

}

public static ArrayList executeQuery(Class type, String sql, String[] parameters) {

ArrayList list = null;

try {

conn = getConnection();

ps = conn.prepareStatement(sql);

if(parameters!=null) {

for(int i = 0; i < parameters.length; ++i) {

ps.setString(i+1,parameters[i]);

}

}

rs = ps.executeQuery();

//得到結果集(rs)的結構

ResultSetMetaData rsmd = rs.getMetaData();

list = new ArrayList();

//通過rsmd可以得到該結果集有多少列

int columnNum = rsmd.getColumnCount();

//獲取字段名

String[] clounmNames = new String[columnNum];

for (int i = 0; i < columnNum; i++) {

clounmNames[i] = rsmd.getColumnLabel(i+1);

}

Method[] methods = type.getDeclaredMethods();

//從rs中取出數據,并且封裝到ArrayList中

while (rs.next()) {

Object obj = type.getDeclaredConstructor().newInstance();

for (int i = 0; i < columnNum; i++) {

String clounmName = clounmNames[i];

Object clounmValue = rs.getObject(i + 1);

String setterName = "set"+clounmName.substring(0,1).toUpperCase()+clounmName.substring(1);// setName

Method setter = null;

for (int j = 0; j < methods.length; j++) {

if (methods[j].getName().equals(setterName)){

setter = methods[j];

break;

}

}

if(setter!=null ){

// System.out.println(""+setter + ":"+clounmValue.getClass().getName() );

if(setter.getParameterTypes()[0].getName().equals("boolean") || setter.getParameterTypes()[0].getName().equals("java.lang.Boolean")){

clounmValue = ((Integer)clounmValue==0)?false:true;

}

boolean isBasic = false;

String parameter0Name = setter.getParameterTypes()[0].getName();

String[] allBasic =new String[]{"byte","short","int","long","float","double","char","boolean"};

for (String each:

allBasic ) {

if(parameter0Name.equals(each)){

isBasic= true;

break;

}

}

if( !( clounmValue==null && isBasic ) ){

setter.invoke(obj,clounmValue);

}

}

//獲取字段值

}

list.add((T)obj);

}

return list;

}

catch(Exception e) {

e.printStackTrace();

throw new RuntimeException(e.getMessage());

} finally {

close(rs, ps, conn);

}

}

public static int queryCount(String sql, String[] parameters) {

ArrayList list = null;

try {

conn = getConnection();

ps = conn.prepareStatement(sql);

if(parameters!=null) {

for(int i = 0; i < parameters.length; ++i) {

ps.setString(i+1,parameters[i]);

}

}

rs = ps.executeQuery();

if (!rs.next()) return 0;

return Integer.parseInt(rs.getObject(1).toString());

}

catch(Exception e) {

e.printStackTrace();

throw new RuntimeException(e.getMessage());

} finally {

close(rs, ps, conn);

}

}

public static ArrayList executeQuery(String sql, String[] parameters) {

ArrayList list = null;

try {

conn = getConnection();

ps = conn.prepareStatement(sql);

if(parameters!=null) {

for(int i = 0; i < parameters.length; ++i) {

ps.setString(i+1,parameters[i]);

}

}

rs = ps.executeQuery();

//得到結果集(rs)的結構

ResultSetMetaData rsmd = rs.getMetaData();

list = new ArrayList();

//通過rsmd可以得到該結果集有多少列

int columnNum = rsmd.getColumnCount();

//從rs中取出數據,并且封裝到ArrayList中

while (rs.next()) {

Object []objects = new Object[columnNum];

for(int i = 0; i < objects.length; ++i) {

objects[i] = rs.getObject(i + 1);

}

list.add(objects);

}

return list;

}

catch(Exception e) {

e.printStackTrace();

throw new RuntimeException(e.getMessage());

} finally {

close(rs, ps, conn);

}

}

public static void executeUpdate2(String[] sql,String[][] parameters) {

try {

conn = getConnection();

conn.setAutoCommit(false);

for(int i = 0; i < sql.length; ++i) {

if(null != parameters[i]) {

ps = conn.prepareStatement(sql[i]);

for(int j = 0; j < parameters[i].length; ++j) {

ps.setString(j + 1, parameters[i][j]);

}

ps.executeUpdate();

}

}

conn.commit();

} catch (Exception e) {

e.printStackTrace();

try {

conn.rollback();

} catch (SQLException e1) {

e1.printStackTrace();

}

throw new RuntimeException(e.getMessage());

} finally {

close(rs,ps, conn);

}

}

//先寫一個update、delete、insert

//sql格式:update 表名 set 字段名 =?where 字段=?

//parameter神應該是(”abc“,23)

public static void executeUpdate(String sql,String[] parameters) {

try {

conn =getConnection();

ps = conn.prepareStatement(sql);

if(parameters!=null) {

for(int i=0;i

ps.setString(i+1,parameters[i]);

}

}

ps.executeUpdate();

} catch(Exception e) {

e.printStackTrace();//開發(fā)階段

//拋出異常

//可以處理,也可以不處理

throw new RuntimeException(e.getMessage());

} finally {

close(rs,ps, conn);

}

}

public static void close(ResultSet rs,Statement ps,Connection ct)

{

//關閉資源(先開后關)

if(rs!=null) {

try {

rs.close();

} catch(SQLException e) {

e.printStackTrace();

}

rs=null;

}

if(ps!=null) {

try {

ps.close();

} catch(SQLException e) {

e.printStackTrace();

}

ps=null;

}

if(null!=ct) {

try {

ct.close();

} catch(SQLException e) {

e.printStackTrace();

}

ct=null;

}

}

public static List resultSetToList(ResultSet rs) throws java.sql.SQLException {

if (rs == null) return Collections.emptyList();

ResultSet md = (ResultSet) rs.getMetaData(); //得到結果集(rs)的結構信息,比如字段數、字段名等

int columnCount = ((ResultSetMetaData) md).getColumnCount(); //返回此 ResultSet 對象中的列數

List list = new ArrayList();

Map rowData = new HashMap();

while (rs.next()) {

rowData = new HashMap(columnCount);

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

rowData.put(((ResultSetMetaData) md).getColumnName(i), rs.getObject(i));

}

list.add(rowData);

}

return list;

}

}

總結

以上是生活随笔為你收集整理的dbinfo.properties mysql_java 8.0Mysql 助手类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。