Code前端首页关于Code前端联系我们

java代码的Mysql预处理,java+mysql开发

terry 2年前 (2023-09-30) 阅读数 40 #Mysql
文章标签 Mysql

本文内容列表:

  • 1.Java连接数据库mysql代码及简单访问数据库
  • 2.如何连接mysql数据库java代码
  • 3.参数个数为0)。 title='Mysql 预处理 Java 代码报错 参数索引超出范围(1 > 参数个数为 0)。'>mysql 预处理 Java 代码报错 参数索引超出范围(1 > 参数个数为 0) 。

java连接数据库mysql代码及简单访问数据库

import java.sql.*;

public class DataBasePractice {

public static void main(String[] args) {

//声明Connection对象 ♝; / 驱动名称

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,用户,密码);

if(!con.isClosed())

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

//2.创建Statement类对象来执行SQL语句! !

Statement statements = con.createStatement();

//要执行的SQL语句

String sql = "select * from Student";

//3.ResultSet类,用于存储取得的结果结果集! !

ResultSet rs = statements.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字符集将名称解码为字节序列并将结果存储为新的单词段落数组。

//然后使用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("抱歉,找不到驱动!");

e.printStackTrace();

} catch(SQLException e) {

//数据库连接错误的异常处理

e.printStackTrace();

}catch (Exception e) {

// TODO: 处理异常

e .printStackTrace();

}final{

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

}

}

}

在上面的 while 代码段中,稍后添加以下代码片段:

String name = 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,名字是小明

psql.executeUpdate() ; //执行更新

//预处理更新(变更)数据

psql = con.prepareStatement("update Student set Stuname = ? where Stuid = ?");

psql.setString(1," xiaowang" ); //设置参数1,将名字改为王舞

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 " );

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();

如何连接mysql数据库java代码

首先导入包

JDBC连接数据库

•创建一个程序,通过JDBC连接数据库,包括7个步骤:

1。加载 JDBC 驱动程序:

在连接数据库之前,必须先加载要连接到 JVM(Java 虚拟机)的数据库的驱动程序。

这是通过类 java.lang.Class 中的静态方法 forName(String className) 实现的。

例如:

try{

//加载MySql驱动类

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

}catch(ExceptionNot){ExceptionNot) System.out.println("找不到驱动类,驱动加载失败!");

e.printStackTrace();

}

加载成功后,会将Driver类的实例注册到DriverManager - 类。

2。指定 JDBC 连接 URL

•连接 URL 定义连接数据库时的协议、子协议和数据源标识符。

•写法: 协议: 子协议:数据源标识

协议:在 JDBC 中总是以 jdbc 开头 子协议:桥接的驱动程序或数据库管理系统的名称。

数据源标识:标记找到数据库源的地址和连接端口。

例如:

(MySql 连接 URL)

jdbc:mysql: //localhost:3306/test?useUnicode=truecharacterEncoding=gbk;

useUnicode=true:

表示使用Unicode字符集。如果characterEncoding设置为gb2312或GBK,则该参数必须设置为true。 characterEncoding=gbk:字符编码方式。

3。创建数据库连接

•要连接到数据库,请从 java.sql.DriverManager 请求并检索连接对象。该对象代表一个数据库连接。

•使用DriverManager的getConnectin(String url, String username, String password)方法传递要连接的指定数据库的路径、数据库的用户名和密码来获取。

例如: //连接MySql数据库,用户名和密码都是root

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

String username = "root" ;

字符串密码=“root”;连接失败!");

see.printStackTrace() ; 3种:

1.执行静态SQL语句,通常通过Statement实例实现。

2.执行动态SQL语句,通常通过Prepared语句实现

3. 执行数据库存储过程。通常通过 CallableStatement 实例实现。

具体实现方法:

Statement stmt = con.createStatement();准备语句 pstmt = con.prepareStatement(sql); con.prepareCall("{CALL demoSp(?, ?)}");

5。执行SQL 语句

Statement 接口提供了三种执行SQL 语句的方法:executeQuery、executeUpdate 和execute

1。 ResultSetexecuteQuery(String sqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。

2。 intexecuteUpdate(String sqlString):用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE、DROP TABLE等。

3. execute(sqlString):用于执行多个返回语句,这些返回语句是结果集、多个更新计数或两者的组合。具体实现代码:

ResultSet rs = stmt.executeQuery("SELECT * FROM ..."); int rows = stmt.executeUpdate("插入...");布尔标志 = stmt.execute(String sql );

6。结果处理两种情况:

1。执行更新会返回受此操作影响的记录数。

2。执行查询返回的结果是一个 ResultSet 对象。

• ResultSet 包含与 SQL 语句中的条件匹配的所有行,并且它通过一组 get 方法提供对这些行中的数据的访问。

• 使用ResultSet 对象的访问方法检索数据:

while(rs.next()){

String name = rs.getString("name") ;

String pass = rs.getString ( 1); // 这种方法效率更高

}

(从第1列开始从左到右对列进行编号)

7.关闭 JDBC 对象

操作完成后,将关闭所有使用的 JDBC 对象,以释放 JDBC 资源。平仓顺序与申报顺序相反:

1。关闭记录集

2。关闭语句

3。关闭连接对象

if(rs!= null){ // 关闭记录集

try{

rs.close() ;

}catch(SQLException e){

e. printStackTrace() ;

}

}

if(stmt != null){ // 关闭语句

try{

stmt.close() ;excatch {

e .printStackTrace() ;

}

}

if(conn != null){ // 关闭连接对象

try{

conn.close() }catch(SQLException e ){

e .printStackTrace() ;

}

}

mysql 代码脱离 Java 区参数预处理(1 > 参数个数为 0) ).

这个问号是用中文写的吗?检查是否正确。我希望这可以帮助你!

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门