java连接数据库的代码

java连接数据库的代码,第1张

package mysql

import java.sql.*

/**

* @author xys

*/

public class ConnectMysql {

public static Connection getConnection() throws ClassNotFoundException, SQLException {

String url = "jdbc:mysql://localhost:3306/databaseName"

String user = "mysqluser"

String password = "password"

String driverClass = "com.mysql.cj.jdbc.Driver"

Connection connection = null

Class.forName(driverClass)

try {

connection = DriverManager.getConnection(url, user, password)

} catch (SQLException e) {

e.printStackTrace()

}

if (connection != null) {

System.out.println("数据库连接成功")

} else {

System.out.println("数据库连接失败")

connection.close()

}

return connection

}

public void getResult() throws ClassNotFoundException, SQLException {

// 实例化 Statement 对象

Statement statement = getConnection().createStatement()

// 要执行的 Mysql 数据库 *** 作语句(增、删、改、查)

String sql = ""

// 展开结果集数据库

ResultSet resultSet = statement.executeQuery(sql)

while (resultSet.next()) {

// 通过字段检索

int id = resultSet.getInt("id")

String name = resultSet.getString("name")

// 输出数据

System.out.println("ID : " +id)

System.out.println("name :" + name)

}

// 完成后需要依次关闭

resultSet.close()

statement.close()

getConnection().close()

}

}

下面是一个从 mysql 数据库获取用户信息的例子,可以参考一下:

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.List

 

// 用户类,存储单个用户信息

class User {

     

    private int id

     

    private String name

 

    public User(int id, String name) {

        this.id = id

        this.name = name

    }

 

    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

    }

 

    @Override

    public String toString() {

        return "User [id=" + id + ", name=" + name + "]"

    }

}

 

public class Demo1 {

 

    public static void main(String[] args) throws ClassNotFoundException, SQLException {

         

        // 本例使用 mysql 数据库,演示将数据库 test 的 tb_users 表中的用户信息

        // 放到 List 中

         

        // 加载数据驱动

        Class.forName("com.mysql.jdbc.Driver")

         

        // 数据库连接字符串, 此例数据库为 test

        String url = "jdbc:mysql://localhost:3306/test"

        String user = "root"    // 数据库用户名

        String password = ""    // 数据库密码

         

        // 打开一个数据连接

        Connection conn = DriverManager.getConnection(url, user, password)

         

        Statement stmt = conn.createStatement()

         

        // 获取表 tb_users 所有用户信息到结果集中

        ResultSet rs = stmt.executeQuery("SELECT id, name FROM tb_users")

         

        // 定义一个存放用户信息的 List

        List<User> users = new ArrayList<>()

         

        // 提取用户信息,并将用户信息放入 List

        while (rs.next()) {

             

            // 获取用户ID

            int id = rs.getInt(1)

             

            // 获取用户名

            String name = rs.getString(2)

             

            users.add(new User(id, name))

        }

 

        rs.close()

        stmt.close()

        conn.close()

         

        // 显示用户信息

         

        for (User u : users) {

            System.out.println(u)

        }

    }

}

import java.sql.*

public class DataBasePractice {

public static void main(String[] args) {

//声明Connection对象

Connection con

//驱动程序名

String driver = "com.mysql.jdbc.Driver"

//URL指向要访问的数据库名mydata

String url = "jdbc:mysql://localhost:3306/mydata"

//MySQL配置时的用户名

String user = "root"

//MySQL配置时的密码

String password = "root"

//遍历查询结果集

try {

//加载驱动程序

Class.forName(driver)

//1.getConnection()方法,连接MySQL数据库!!

con = DriverManager.getConnection(url,user,password)

if(!con.isClosed())

System.out.println("Succeeded connecting to the Database!")

//2.创建statement类对象,用来执行SQL语句!!

Statement statement = con.createStatement()

//要执行的SQL语句

String sql = "select * from student"

//3.ResultSet类,用来存放获取的结果集!!

ResultSet rs = statement.executeQuery(sql)

System.out.println("-----------------")

System.out.println("执行结果如下所示:")

System.out.println("-----------------")

System.out.println(" 学号" + "\t" + " 姓名")

System.out.println("-----------------")

String name = null

String id = null

while(rs.next()){

//获取stuname这列数据

name = rs.getString("stuname")

//获取stuid这列数据

id = rs.getString("stuid")

//首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。

//然后使用GB2312字符集解码指定的字节数组。

name = new String(name.getBytes("ISO-8859-1"),"gb2312")

//输出结果

System.out.println(id + "\t" + name)

}

rs.close()

con.close()

} catch(ClassNotFoundException e) {

//数据库驱动类异常处理

System.out.println("Sorry,can`t find the Driver!")

e.printStackTrace()

} catch(SQLException e) {

//数据库连接失败异常处理

e.printStackTrace()

}catch (Exception e) {

// TODO: handle exception

e.printStackTrace()

}finally{

System.out.println("数据库数据成功获取!!")

}

}

}

在上面while代码段后面添加以下代码段:

String name = null

String id = null

while(rs.next()){

//获取stuname这列数据

name = rs.getString("stuname")

//获取stuid这列数据

id = rs.getString("stuid")

//首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。

//然后使用GB2312字符集解码指定的字节数组。

name = new String(name.getBytes("ISO-8859-1"),"gb2312")

//输出结果

System.out.println(id + "\t" + name)

}

PreparedStatement psql

ResultSet res

//预处理添加数据,其中有两个参数--“?”

psql = con.prepareStatement("insert into student values(?,?)")

psql.setInt(1, 8) //设置参数1,创建id为5的数据

psql.setString(2, "xiaogang") //设置参数2,name 为小明

psql.executeUpdate() //执行更新

//预处理更新(修改)数据

psql = con.prepareStatement("update student set stuname = ? where stuid = ?")

psql.setString(1,"xiaowang") //设置参数1,将name改为王五

psql.setInt(2,10) //设置参数2,将id为2的数据做修改

psql.executeUpdate()

//预处理删除数据

psql = con.prepareStatement("delete from student where stuid = ?")

psql.setInt(1, 5)

psql.executeUpdate()

//查询修改数据后student表中的数据

psql = con.prepareStatement("select*from student")

res = psql.executeQuery() //执行预处理sql语句

System.out.println("执行增加、修改、删除后的数据")

while(res.next()){

name = res.getString("stuname")

id = res.getString("stuid")

name = new String(name.getBytes("ISO-8859-1"),"gb2312")

System.out.println(id + "\t" + name)

}

res.close()

psql.close()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9892721.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存