通过java *** 作执行mysql的问题

通过java *** 作执行mysql的问题,第1张

首先正确安装好MySQL,建立好数据库studentinfo

mysql>create database studentinfo

然后编写java代码,ConnectToMySQL.java

import java.sql.*

public class ConnectToMySQL {

public static Connection getConnection() throws SQLException ,

java.lang.ClassNotFoundException{

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

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

String userName = "root"

String password = ""

Connection con = DriverManager.getConnection(url,userName,password)

return con

}

public static void main(String[] args) {

try{

Connection con = getConnection()

Statement sql = con.createStatement()

sql.execute("drop table if exists student")

sql.execute("create table student(id int not null auto_increment,name varchar(20) not null default 'name',math int not null default 60,primary key(id))")

sql.execute("insert student values(1,'AAA','99')")

sql.execute("insert student values(2,'BBB','77')")

sql.execute("insert student values(3,'CCC','65')")

String query = "select * from student"

ResultSet result = sql.executeQuery(query)

System.out.println("Student表数据如下:")

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

System.out.println("学号"+" "+"姓名"+" "+"数学成绩")

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

int number

String name

String math

while(result.next()){

number = result.getInt("id")

name = result.getString("name")

math = result.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连接Mysql详解

Part I: 驱动/数据源类名, URL语法, Connector/J的属性配置.假设你应经安装好了mysql, 和mysql-connector-java-X.X.X-bin.jar

Mysql Connector/J通过com.mysql.jdbc.Driver来实现java.sql.Driver, 同时类名org.gjt.mm.mysql.Driver依旧可用, 以保持向前兼容MM.Mysql.

MySQL的JDBC URL格式如下:

如果没有明确指定host(主机名), 默认为127.0.0.1, 端口号默认是3306

如果不指定数据库名, 不会有默认的数据库, 这样的话, 你可以调用Connection的setCatalog()方法, 或者在SQL中明确指定所用的数据库. 这种情况只在为多个数据库建立工具时有用. 例如建立GUI数据库管理器.

JDBC应该永远不使用USE database来指定数据库, 应该用Connection.setCatalog()方法.

MySQL Connector/J支持fail-over模式, 使用fail-over模式, 必须将connection的autoCommit设置为true.

如果URL的autoReconnect设置为false: Failover会发生在连接初始化时, failback出现在驱动器使第一个主机在此可用时.

如果URL的autoReconnect属性时true, Failover发生在驱动决定connection失败时(在每次查询之前), falls back到第一个主机, 当它决定这个主机在此可用时.

在以上提到的两种情况中, 无论何时你连接到一个"failed-over"服务器, 这个连接将会是制度的, 因此, 修改数据的查询, 将会引发异常.

Configuration properties定义Connctor/J将怎样连接到MySQL服务器. 除了特别声明, 这些属性可以设置在DataSource或Connection object中.

Configuration properties可以按照下面的方式进行设置:

①使用MysqlDataSource或MysqlConnectionPoolDataSource的set*()方法.

②以java.util.Properties的key/value对的形式传递给DriverManager.getConnection() 或Driver.connect()

③作为JDBC URL的参数传给java.sql.DriverManger.getConnection()

java.sql.Driver.connect()或MySQL实现的javax.sql.DataSource setURL() 方法.

注意: 如果你用来确定JDBC URL的机制是XML-based, 你需要使用XML字符 &来分隔参数.

应该是一些特殊符被转义了,你可以把mysqldump -u root -proot --opt mysql >C:/Users/success/ak.sql 这句写到一个bat文件里面,然后java中就直接调用这个bat文件就可以避免了


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

原文地址: http://outofmemory.cn/zaji/5904658.html

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

发表评论

登录后才能评论

评论列表(0条)

保存