java操作mysql应用实例,java操作mysql数据库
本文内容列表:
- 1、JAVA中使用MYSQL的问题
- 2、如何在Java程序中访问mysql数据库中的数据并进行简单的操作
- 3、通过java操作运行mysql的问题
- 4. Java中数据库操作示例
- 5. 如何使用Java连接mysql数据库
JAVA中使用MYSQL的问题
while (result.next())
改为 hashnext();
ArrayList list = dao.select(sql);
迭代器 iterator = list.iterator();
while( iterator.hasNext()){
oram.FlowEvent t =(oram.FlowEvent) iterator.next();
out.println(t.getEventId()+" "+t.getByname()
类似这样,不会溢出

如何访问mysql数据库中的数据在Java程序中并执行简单的操作
必须使用JDBC技术。 JDBC中的方法在Mysql中实现。具体实现代码如下:
package com.itheima.jdbc;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
导入 java.sql.DriverManager;
导入 java.sql.PreparedStatement;
导入 java.sql.ResultSet;
导入 java.sql.SQLException;
导入 java.util.Properties;
/ **
* 创建数据库连接
*
* @作者长孙建坤 18092853734
* @version 2017-04-26 20:41:35
*/
公共类 JDBCTest02 {
public void demo(){
System.out.println("ddd");
}
public static void main(String[] args) {
InputStream config = JDBCTest02.class.getClassLoader().getResourceAsStream("jdbc.properties");
Properties pro = new Properties();
try {
pro.load(config);
String driver = pro.getProperty("driver");
Class.forName(driver);
String username = pro.getProperty( "user");
String 密码 = pro.getProperty("password");
String url = pro.getProperty("url");
Connection con = DriverManager.getConnection(url, 用户名, 密码);
String sql = "select * from perinfo";
PreparedStatement pst = con.prepareStatement(sql);
ResultSet set = pst.executeQuery();
while(set.next( ) ){
System.out.println(set.getString(2));
}
String del = "从 perinfo 中删除 pid =?";
pst.setObject(1, 5 ) ;
int update = pst.executeUpdate(del);
System.out.println(update);
} catch (IOException e) {
new RuntimeException(e + "读取配置文件失败!");
} catch (SQLException e) {
new RuntimeException(e + "无法获取连接!" ) ;
} catch (ClassNotFoundException e) {
new RuntimeException(e + "加载类文件失败!");
}
}
}
通过Java运行mysql的问题运营
首先正确安装MySQL,并创建数据库studentinfo
mysql创建数据库studentinfo;
然后编写java代码,ConnectToMySQL.java
import java.sql.*;
public class ConnectToMySQL {
public静态连接 getConnection() 抛出 SQLException,
java.lang.ClassNotFoundException{
String url = "jdbc:mysql://localhost:3306/studentinfo";
Class.forName("com.mysql " . jdbc.Driver");
字符串用户名 = "root";
字符串密码 = "";
连接 con = DriverManager.getConnection(url,用户名,密码);
return con;
}
public static void main(String[] args) {
try{
连接 con = getConnection();
sql 语句 = con.createStatement();
sql.execute ( “如果学生存在则删除表”);
sql.execute("创建表student(id int not null auto_increment,name varchar(20) not null default 'name',math int not null default 60,主键(id));");
sql.execute ("插入学生值(1,'AAA','99')");
sql.execute("插入学生值(2,'BBB','77')");
sql.execute ("插入学生值(3,'CCC','65')");
字符串查询=“从学生中选择*”;
ResultSet结果=sql.executeQuery(query);
System. out.println("students表的数据如下:");
System.out.println("------------------------ ---- - ------");
System.out.println("学号"+" "+姓名"+" "+数学结果");
System.out.println (" - --------------------------------");
整数;
字符串名称;
字符串数学;
while(result.next()){
number = result.getInt("id");
name = result.getString("name");
math =结果。 getString("math");
System.out.println(number + " " + name + " " + math);
}
sql.close();
con.close() ;
}catch(java.lang.ClassNotFoundException e){
System.err.println("ClassNotFoundException:" + e.getMessage());
}catch(SQLException ex){
System.err.println ("SQLException:" + ex.getMessage());
}
}
}
非常详细。
Java中数据库操作示例
您可以像普通 jdbc 连接一样使用连接字段。数据库连接作用域是编写应用服务时经常使用的模块。过于频繁的数据库连接是服务性能的瓶颈。使用缓冲池技术可以消除这个瓶颈。我们在网上可以找到很多关于数据库连接池的源程序,但是我们都发现一个共同的问题:这些连接池的实现方式都不同程度地提高了与用户的连接率。许多连接域要求用户使用自己规定的方法来获取数据库连接。我们可以理解这一点。目前所有的应用服务器最终都是通过这种方式获取数据库连接的。然而,另一个常见问题是不允许用户显式调用 Connection.close() 方法,而必须使用其指定的方法之一来关闭连接。这种方式有两个缺点:一是改变了用户的使用习惯,增加了用户的问题。首先我们看一下数据库的正常操作流程: intexecuteSQL(String sql) throws SQLExceptionfinallycatch(Exception e)catch(Exception e)return true;} 用户在使用数据库连接后,通常会直接调用连接close方法。为了释放数据库资源,如果使用前面提到的连接池实现方法,conn.close()语句将会被一些特殊的语句所取代。第二:禁用链接区域对其中所有链接的独占控制。因为连接池不允许用户直接调用关闭连接方法,所以当用户在使用过程中因为使用问题而直接关闭数据库连接时,连接池将无法正常维护所有连接的状态。请注意,连接区域和应用程序是由不同的人开发的。人们在实践中更容易出现这个问题。基于上面提到的两个问题,我们来谈谈如何解决这两个致命问题。首先,让我们站在别人的角度考虑用户想要如何使用这个数据库连接池。用户可以通过特殊的方法获取数据库连接,并且该连接的类型必须是标准的java.sql.Connection。获得数据库连接后,用户可以对该连接执行任何操作,包括关闭连接。通过用户使用情况描述,如何重写Connection.close方法就成为了本文的主题。您应该有一个类似钩子的机制来接管数据库连接关闭方法。例如,在Windows编程中我们可以使用使用 Hook API 接管特定的 Windows API。 JAVA中也有这样的机制。 JAVA提供了代理类和InvokingHandler,它们位于java.lang.reflect包中。首先我们看看SUN提供的文档是如何描述这两个类的。 public interface InvocalHandlerInvocalHandler 是由代理实例的调用处理程序实现的接口。每个代理实例都有一个关联的调用处理程序。当在代理实例上调用方法时,方法调用将被编码并发送到其调用处理程序的调用方法。 .SUN API文档中有很多代理的描述,这里就不一一列举了。从文档中对InvokingHandler接口的描述我们可以看到,当调用代理实例方法时,会触发InvokingHandler的invoke方法。我们还从JAVA文档了解到,这种动态代理机制只能重写一个接口方法,而对于泛型类则无效。鉴于 java.sql.Connection 本身就是一个接口,我们找到了重写 close 方法的解决方案。出口。首先我们先定义一个用于数据库连接池参数的类,它定义了数据库的JDBC驱动类名、连接URL、用户名和密码等信息。该类是用于初始化连接池的参数。具体定义如下: public class ConnectionParam Implements Serialized /** * 从连接字段工厂获取给定名称对应的连接字段
如何用java连接mysql数据库
要使用Java连接数据库,必须先安装mysql数据库。安装mysql后安装JDK。
安装完JDK之后,就该安装Eclipse了。为了支持JDK版本,Eclipse在安装时会自动查找JDK的安装位置。对于解压版的Eclipse,需要配置eclipse.ini文件,并配置相应的JDK。准备好后,在 mysql 中创建数据库和表。
首先创建数据库:
CREATE DATABASE SCUTCCS;
然后创建表:
CREATE TABLE STUDENT
(
SNO CHAR(7) NOT NULL,
NAME VARCHAR ( 8 ) NOT NULL,
SEX CHAR(2) NOT NULL,
BDATE DATE NOT NULL,
HEIGHT DEC(5,2) DEFAULT 000.00,
主键(SNO)
);
然后输入信息。可以使用SQL语句insert into表名values(value1, value2, ...);
编写一个.java文件来展示如何访问MySQL数据库。
import java.sql.*;
public class JDBCTest {
public static void main(String[] args){
//驱动名称 String driver = "com.mysql.jdbc.Driver " ;
// URL指向正在访问的scutcs数据库名称 String url = "jdbc:mysql://127.0.0.1:3306/scutcs";
// MySQL配置时的用户名 String user = "root ”; // MySQL 配置密码 String password = "root";
try { // 加载驱动 Class.forName(driver);
// 数据库连接打开 conn = DriverManager.getConnection(url, user, password);
if(!conn.isClosed()) System.out.println("数据库连接成功!");
//语句用于执行SQL语句 Statement statements = conn.createStatement();
//执行的SQL语句 String sql = "select * from Student";
//结果集 ResultSet rs = statements.executeQuery(sql) ;
while(rs.next()) // 选择列名 sname = rs.getString("sname
//打印结果 System.out.println(rs.getString("sno" ) + " \t" + name); }
rs.close(); conn.close();
} catch(ClassNotFoundException e) {
System.out.println("抱歉,您找不到"驱动程序!"); e.printStackTrace();
} catch(SQLException e) {
e.printStackTrace();
} catch(Exception e) {
e.printStackTrace( ) ;
} } }
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网
