java代码的Mysql预处理,java+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前端网发表,如需转载,请注明页面地址。
code前端网
