mysql数据库连接java代码_mysql jdbc(java连接mysql数据库代码详解)

mysql jdbc

package com.jdbc.dbutils;

import java.lang.reflect.Field;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.ResultSetMetaData;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import com.jdbc.data.UserInfo;

import com.mysql.jdbc.Driver;

public class JdbcUtils {

// 定义数据库的用户名

private final String USERNAME = “root”;

// 定义数据库的密码

private final String PASSWORD = “123456”;

// 定义数据库的驱动信息

private final String DRIVER = “com.mysql.jdbc.Driver”;

// 定义访问数据库的地址

private final String URL = “jdbc:mysql://localhost:3306/mydb”;

// 定义访问数据库的连接

private Connection connection;

// 定义sql语句的执行对象

private PreparedStatement pstmt;

// 定义查询返回的结果集合

private ResultSet resultSet;

public JdbcUtils() {

// TODO Auto-generated constructor stub

try {

Class.forName(DRIVER);

System.out.println(“注册驱动成功!!”);

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

System.out.println(“注册驱动失败!!”);

}

}

// 定义获得数据库的连接

public Connection getConnection() {

try {

connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);

} catch (Exception e) {

// TODO: handle exception

System.out.println(“Connection exception !”);

}

return connection;

}

/**

* 完成对数据库标的增加删除和修改的操作

*

* @param sql

* @param params

* @return

* @throws SQLException

*/

public boolean updateByPreparedStatement(String sql, List params)

throws SQLException {

boolean flag = false;

int result = -1;// 表示当用户执行增加删除和修改的操作影响的行数

int index = 1; // 表示 占位符 ,从1开始

pstmt = connection.prepareStatement(sql);

if (params != null && !params.isEmpty()) {

for (int i = 0; i < params.size(); i++) {

pstmt.setObject(index++, params.get(i)); // 填充占位符

}

}

result = pstmt.executeUpdate();

flag = result > 0 ? true : false;

return flag;

}

/**

* 查询返回单条记录

*

* @param sql

* @param params

* @return

* @throws SQLException

*/

public Map findSimpleResult(String sql, List params)

throws SQLException {

Map map = new HashMap();

pstmt = connection.prepareStatement(sql);

int index = 1;

if (params != null && !params.isEmpty()) {

for (int i = 0; i < params.size(); i++) {

pstmt.setObject(index++, params.get(i));

}

}

resultSet = pstmt.executeQuery(); // 返回查询结果

ResultSetMetaData metaData = pstmt.getMetaData(); // 获取 结果中,一行所有列的结果

int cols_len = metaData.getColumnCount(); // 获得列的总数

while (resultSet.next()) {

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

String col_name = metaData.getColumnName(i + 1); // 获得第i列的字段名称

Object col_value = resultSet.getObject(col_name);// 返回 第i列的内容值

if (col_value == null) {

col_value = “”;

}

map.put(col_name, col_value);

}

}

return map;

}

/**

* 查询返回多条记录

*

* @param sql

* @param params

* @return

* @throws SQLException

*/

public List> findMoreResult(String sql,

List params) throws SQLException {

List> list = new ArrayList>();

pstmt = connection.prepareStatement(sql);

int index = 1; // 表示占位符

if (params != null && !params.isEmpty()) {

for (int i = 0; i < params.size(); i++) {

pstmt.setObject(index++, params.get(i));

}

}

resultSet = pstmt.executeQuery(); // 返回查询结果集合

ResultSetMetaData metaData = resultSet.getMetaData(); // 获得列的结果

while (resultSet.next()) {

Map map = new HashMap();

int cols_len = metaData.getColumnCount(); // 获取总的列数

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

String col_name = metaData.getColumnName(i + 1); // 获取第 i列的字段名称

// ,列计算从1开始

Object col_value = resultSet.getObject(col_name); // 获取第i列的内容值

if (col_value == null) {

col_value = “”;

}

map.put(col_name, col_value);

}

list.add(map);

}

return list;

}

/**

* 查询返回单个JavaBean(使用java反射机制)

*

* @param sql

* @param params

* @param cls

* @return

* @throws Exception

*/

public T findSimpleRefResult(String sql, List params,

Class cls) throws Exception {

T resultObject = null;

int index = 1; // 占位符

pstmt = connection.prepareStatement(sql);

if (params != null && !params.isEmpty()) {

for (int i = 0; i < params.size(); i++) {

pstmt.setObject(index++, params.get(i)); // 填充占位符

}

}

resultSet = pstmt.executeQuery(); // 获取查询结果

ResultSetMetaData metaData = resultSet.getMetaData(); // 获取列的信息

int cols_len = metaData.getColumnCount(); // 获取总的列数

while (resultSet.next()) {

// 通过反射机制创建实例

resultObject = cls.newInstance(); // java反射机制

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

String col_name = metaData.getColumnName(i + 1); // 获取第i列的名称

Object col_value = resultSet.getObject(col_name); // 获取第i列的值

if (col_value == null) {

col_value = “”;

}

Field field = cls.getDeclaredField(col_name);

field.setAccessible(true);// 打开 JavaBean的访问 private权限

field.set(resultObject, col_value);

}

}

return resultObject;

}

/** 查询返回多个JavaBean(通过java反射机制)

* @param sql

* @param params

* @param cls

* @return

* @throws Exception

*/

public List findMoreRefResult(String sql, List params,

Class cls) throws Exception {

List list = new ArrayList();

int index = 1; //占位符

pstmt = connection.prepareStatement(sql);

if (params != null && !params.isEmpty()) {

for (int i = 0; i < params.size(); i++) {

pstmt.setObject(index++, params.get(i));

}

}

resultSet = pstmt.executeQuery(); // 返回查询结果集合

ResultSetMetaData metaData = resultSet.getMetaData(); // 返回列的信息

int cols_len = metaData.getColumnCount(); // 结果集中总的列数

while (resultSet.next()) {

// 通过反射机制创建一个java实例

T resultObject = cls.newInstance();

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

String col_name = metaData.getColumnName(i + 1); // 获得第i列的名称

Object col_value = resultSet.getObject(col_name); // 获得第i列的内容

if (col_value == null) {

col_value = “”;

}

Field field = cls.getDeclaredField(col_name);

field.setAccessible(true); // 打开JavaBean的访问private权限

field.set(resultObject, col_value);

}

list.add(resultObject);

}

return list;

}

/**关闭数据库访问

* @throws SQLException

*/

public void releaseConn() throws SQLException{

if (resultSet!=null) {

resultSet.close();

}

if (pstmt!=null) {

pstmt.close();

}

if (connection!=null) {

connection.close();

}

}

}

java连接mysql数据库代码详解

package _9_3_test;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.Scanner;

import com.mysql.jdbc.Driver;

import com.mysql.jdbc.Statement;

public class Scr {

public static void main(String[] args) {

//JDBC驱动名

String JDBC_DRIVER = “com.mysql.jdbc.Driver”;

//数据库URL:这里的tt是数据库名称

String JDBC_URL = “jdbc:mysql://localhost:3306/tt?useSSL=false&serverTimezone=UTC”;

// 数据库的用户名与密码

String USER = “root”;

String PASS = “admin123”;

//通过DriverManager类获得该连接对象才能访问数据库

Connection connection = null;

// 通过Connection获得该结果对象用于执行静态的SQL语句

Statement statement = null;

try {

// 注册JDBC驱动

Class.forName(JDBC_DRIVER);

// 数据库的连接:通过DriverManager类的getConnection方法,传入三个参数:数据库URL、用户名、用户密码,实例化connection对象

connection = DriverManager.getConnection(JDBC_URL,USER,PASS);

// 实例化statement对象

statement = (Statement) connection.createStatement();

// 定义数据库查询语句:查询aa表中的name、sex两列数据

String sql = “SELECT name,sex FROM aa”;

// 执行查询语句

ResultSet rSet = statement.executeQuery(sql);

// 展开查询到的数据

while(rSet.next()) {

// 这里getString()方法中的参数对应的是数据库表中的列名

String get_name = rSet.getString(“name”);

String get_sex = rSet.getString(“sex”);

// 输出数据

System.out.println(“名字:”+get_name);

System.out.print(“性别:”+get_sex);

}

// 依次关闭对象

rSet.close();

statement.close();

connection.close();

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值