java和mysql
连接数据库简单步骤:
导入驱动包(mysql官网有下),并添加该包为库(add as Library)
注册驱动:Class.forName("com.mysql.jdbc.Driver");
获取连接对象:Connection conn=DirverManager.getConnection("jdbc:mysql://连接IP/数据库名","数据库用户名","密码");
获取sql语句执行对象:Statement stmt=conn.createStatement();
使用对象运行sql语句:如 stmt.executeUpdate("Update A set a=b");
释放资源:stmt.close();conn.close();
也可以用数据库连接池,获得连接,但是要下载相关的jar包,如:Druid.jar
要想写更简单的代码,可以用spring框架,下载相应的jar包就可以了
B. 怎么样实现java与MYSQL的连接
package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.struts.util.MessageResources;
public class DBconnection {
private String driveName = null;
private String userName = null;
private String password = null;
private String url = null;
private Connection con =null;
private Statement sta=null ;
private PreparedStatement pre = null;
private ResultSet result = null;
/** 创岩粗建一个没有参数的数据库构造器
*
*
*/
public DBconnection() {
construts();
linkDataBase();
}
public DBconnection(Connection con){
this.con=con;
}
/** 实例化对象时调用的方法
*
*MessageResources
*/
private void construts() {
MessageResources message=MessageResources.getMessageResources("resources.application");
driveName = message.getMessage("driveName");
url = message.getMessage("url");
userName = message.getMessage("userName");
password = message.getMessage("password");
}
/** 加载数据库的驱动程ry {
Class.序
*
*
*/
private void linkDataBase() {
try {
Class.forName(driveName);
} catch (ClassNotFoundException e) {
System.out.println("Link DataBase Fail!");
}
}
/** 建立一个Connection对象
*
*
*/
public Connection createConnection() {
try {
con = DriverManager.getConnection(url, userName, password);
return con;
} catch (SQLException e) {
System.out.println("Connection Opened Fail!!");
e.printStackTrace();
}
return null;
}
/** 建立粗姿镇一个Statement对象
*
*
*/
public void createNormalStatement() {
try {
sta = con.createStatement();
} catch (SQLException e) {
e.printStackTrace();
System.out.println("NormalStatement Opened Fail!!");
}
}
/** 设册粗置一个预编译对象
*
* @param sql 初始化预编译的语句
*/
public void createPreparedStatement(String sql) {
try {
pre = con.prepareStatement(sql);
} catch (SQLException e) {
System.out.println("PreparedStatement Opened Fail!!");
}
}
/**建立一个指定sql语句的ResultSet对象
*
* @param sql 一条普通的查询Sql语句,
*/
public void setResultSet(String sql) {
try {
result = sta.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
System.out.println("Nomal resultset get failer!");
}
}
/**执行准备好的 SQL 查询并返回针对查询SQL漏洞
*
*
*/
public void setPreparedStatementResultSet() {
try {
result = pre.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
System.out.println("PreparedStatement resultset get failer!");
}
}
/** 判断当前的Result对象中是否有结果集,有返回真,没有返回假
*
* @return 是否有下一条记录
*/
public boolean haveMoreResult() {
try {
return result.next();
} catch (SQLException e) {
System.out.println("block result next have errors");
return false;
}
}
/**关闭当前对象的Statement对象
*
*
*/
public void closeNormalStatement() {
try {
sta.close();
} catch (SQLException e) {
e.printStackTrace();
System.out.println("NormalStatement close fail!");
}
}
/** 关闭当前的Prepared对象
*
*
*/
public void closePreparedStatement() {
try {
pre.close();
} catch (SQLException e) {
e.printStackTrace();
System.out.println("PreparedStatement close fail!");
}
}
/**关闭当前的ResulrSet对象
*
*
*/
public void closeResultSet() {
try {
result.close();
} catch (SQLException e) {
e.printStackTrace();
System.out.println("Result close fail!");
}
}
/** 关闭Connection对象,检查ResultSet,Statement,PrepardStament是否为空,
* 不为空就关闭,最后关闭Connection
*
*
*/
public void closeConnection() {
try {
if (result != null) {
result.close();
}
if (sta != null) {
sta.close();
}
if (pre != null) {
pre.close();
}
con.close();
} catch (SQLException e) {
e.printStackTrace();
System.out.println("Connection close fail!");
}
}
/** 设置Connection对象事务的支持
*
* @param bool 开启变量
*/
public void setAutoCommit(Boolean bool) {
try {
con.setAutoCommit(bool);
} catch (SQLException e) {
e.printStackTrace();
}
}
/** 通过整数获取ResultSet中的字符串值
*
* @param number 指定ResultSet中的列索引
* @return 获得该值
*/
public String getResultSetValueByNumber(int number) {
try {
return result.getString(number);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
/** 通过名字来获得ResultSet指定列的字符串值
*
* @param columnName 指定的ResultSet列的名字
* @return 获得该值
*/
public String getResultSetValueByColumn(String columnName) {
try {
return result.getString(columnName);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
/** 通过整数获取ResultSet中的整数值
*
* @param number 指定ResultSet中的列索引
* @return 获得该值
*/
public int getResultSetIntValueByNumber(int number) {
try {
return result.getInt(number);
} catch (SQLException e) {
e.printStackTrace();
}
return -1;
}
/**通过名字来获得ResultSet指定列的整数值
*
* @param columnName 指定的ResultSet列的名字
* @return 获得该值
*/
public int getResultSetIntValueByColumn(String columnName) {
try {
return result.getInt(columnName);
} catch (SQLException e) {
e.printStackTrace();
}
return -1;
}
/** 设置预编译语句的指定的数值列的?String值
*
* @param number 预编译语句中?的索引
* @param value 相应的要传入的值
* @return 是否成功设置
*/
public boolean (int number, String value) {
try {
pre.setString(number, value);
return true;
} catch (SQLException e) {
e.printStackTrace();
System.out.println(" failer "
+ number);
}
return false;
}
/**设置预编译语句的指定的数值列的?int值
*
* @param number 预编译语句中?的索引
* @param value 相应的要传入的值
*/
public void setPreparedStatementIntValue(int number, int value) {
try {
pre.setInt(number, value);
} catch (SQLException e) {
e.printStackTrace();
System.out.println("setPreparedStatementIntValue failer " + number);
}
}
/** 提交preparedStatement(预编译)针对多表事物语句
*
* @return 是否成功提交该语句
*/
public boolean preExecuteUpdate() {
try {
pre.executeUpdate();
return true;
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
/**提交事物(多条SQL一起提交)
*
*
*/
public void conCommit() {
try {
con.commit();
} catch (SQLException e) {
e.printStackTrace();
System.out.println("Transfer has failer!");
}finally{
closeConnection();
}
}
/** 数据库事物不成功的时候回滚
*
*
*/
public void conRollback() {
try {
con.rollback();
System.out.println("database rollback");
} catch (SQLException e) {
e.printStackTrace();
}finally{
closeConnection();
}
}
/** 运行一条普通的Insert,Update,Delete语句
*
* @param sql 普通的INSERT,UPDATE,DELETE语句
* @return 是否成功操作
*/
public boolean insertUpdateDelete(String sql) {
try {
sta.executeUpdate(sql);
return true;
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
// 测试程序
// public static void main(String[] args) {
// DBconnection db = new DBconnection();
// db.createConnection();
// db.createNormalStatement();
// String sql = "select * from book_infor;";
// db.setResultSet(sql);
// if (db.haveMoreResult()) {
// System.out.println(db.getResultSetIntValueByNumber(1));
// System.out.println(db.getResultSetValueByNumber(2));
// System.out.println(db.getResultSetValueByNumber(3));
// System.out.println(db.getResultSetValueByNumber(4));
// System.out.println(db.getResultSetValueByNumber(5));
// System.out.println(db.getResultSetValueByNumber(6));
// }
// }
}这个是jdbc,海有个连接池。
MySQl安装个安装版的,有图形界面的。
C. java如何连接mysql
首先需要下载mysql数据库驱动程序,去mysql官网下载,文件名为mysql-connector-java-5.1.11-bin.jar,其中5.1.11是版本,可下载最新的。要把这个jar加到工程中。
java代码:
import java.sql.*;
public class TestInsert {
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");/稿谈/加载MySQL驱动程序
//建立与键空碰数据库的连接
String url = "jdbc:mysql://localhost:3306/training"; //training是数据库名亏型,可替换
String user = "root"; //root是mysql用户名,可替换
String password = "root"; //替换为你的password
Connection cn = DriverManager.getConnection(url,user,password);
Statement stmt = cn.createStatement();//创建Statement对象
} catch (Exception e) {
e.printStackTrace();
}
}
}
D. java如何访问数据库(java访问mysql数据库)
Java可以使用JDBC访问数据库,也可以使用各类ORM框架访问数据库,但这些框架最终还是通过JDBC访问数据库,它们只是封装了数据库操作,而使得开发者可以减少这部分消耗。因此,本文只讲解JDBC访问方式。
JDBC访问一般分为如下流程:
1、加载JDBC驱动程序:
在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lang.Class类的静态方法forName(StringclassName)实现。
例如:
try{
//加载MySql的驱动类
Class.forName("com.mysql.jdbc.Driver");
}catch(e){
System.out.println("找不到驱动程序类,加载驱动失败!");
e.();
}
成功加载后,会将Driver类的实例注册到类中。
2、提供JDBC连接的URL
连接URL定义了连接数据库时的协议、子协议、数据源标识。
书写形式:协议:子协议:数据源标识
协议:在JDBC中总是以jdbc开始
子协议:是桥连接的驱动程序或是数据库管理系统名称。
数据源标识:标记找到数据库来源的地址与连接端口。
例如:(MySql的连接URL)
jdbc:mysql://localhost:3306/test?useUnicode=true&=gbk;
useUnicode=true:表示使用Unicode字符集。如果设置为
gb2312或GBK,本参数必须设置为true。=gbk:字符编码方式。
3、创建数据库的连接
要连接数据库,需要向java.sql.请求并获得Connection对象,该对象就代表一个数据库的连接。
使用的(Stringurl,Stringusername,Stringpassword)方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。
例如:
//连接MySql数据库,用户名和密码都是root
Stringurl="jdbc:mysql://localhost:3306/test";
Stringusername="root";
Stringpassword="root";
try{
Connectioncon=
.(url,username,password);
}catch(se){
System.out.println("数据库连接失败!");
se.();
}
4、创建一个Statement
要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3种类型:
1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过实例实现。
3、执行数据库存储过程。通常通过实例实现。
具体的实现方式:
Statementstmt=con.();
PreparedStatementpstmt=con.prepareStatement(sql);
CallableStatementcstmt=con.prepareCall("{CALLdemoSp(?,?)}");
5、执行慧轿SQL语句
Statement接口提供了三种执行SQL语句的方法:executeQuery、executeUpdate和execute
1、ResultSetexecuteQuery(StringsqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。
2、intexecuteUpdate(StringsqlString):用于执行INSERT、UPDATE或DELETE语句以及SQLDDL语句,如:CREATETABLE和DROPTABLE等
3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。
具芹尺体实现的代码:
ResultSetrs=stmt.executeQuery("SELECT*FROM...");
introws=stmt.executeUpdate("INSERTINTO...");
booleanflag=stmt.execute(Stringsql);
6、处理结果
两种情况:
1、执行更新返回的是本次操作影响到的记录数。
2、执行查询返回的结果是一个ResultSet对象。
ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提嫌碧高供了对这些行中数据的访问。
使用结果集(ResultSet)对象的访问方法获取数据:
while(rs.next()){
Stringname=rs.getString("name");
Stringpass=rs.getString(1);//此方法比较高效(列是从左到右编号的,并且从列1开始)
}
7、关闭JDBC对象
操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:
1、关闭记录集
2、关闭声明
3、关闭连接对象
if(rs!=null){//关闭记录集
try{
rs.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
if(stmt!=null){//关闭声明
try{
stmt.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
if(conn!=null){//关闭连接对象
try{
conn.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
E. 如何连接java和mysql数据库
当然,首先要安装有JDK(一般是JDK1.5.X)。然后安装MySQL,这些都比较简单,具体过程就不说了。配置好这两个环境后,下载JDBC驱动mysql-connector-java-5.0.5.zip(这个是最新版的)。然后将其解压缩到任一目录。我是解压到D盘,然后将其目录下的mysql-connector-java-5.0.5-bin.jar加到classpath里,具体如下:“我的电脑”->“属性”->“高级罩贺答”->“环境变量”,在系统变量那里编辑classpath,将D:mysql-connector-java-5.0.5mysql-connector-java-5.0.5-bin.jar加到最后,在加这个字符串前要加“;”,以与前一个classpath区分开。然后确定。
环境配置好了,很简单。现在,先配置MySQL,设其用户名为“root”,密码为“root”。在命令行或用一个SQL的前端软件创建Database。
我是用SQLyog的前端软件来创建Database的。
先创建数据库:
CREATEDATABASESCUTCS;
接着,创建表:
CREATETABLESTUDENT
(
SNOCHAR(7)NOTNULL,SNAMEVARCHAR(8)NOTNULL,SEXCHAR(2)NOTNULL,BDATEDATENOTNULL,HEIGHTDEC(5,2)DEFAULT000.00,PRIMARYKEY(SNO)
);
然后插入数据,可以用SQL语句insertinto<表名>values(value1,value2,...);
也可以用SQLyog来操作
好了,创建好了。
下面,我们来编写.java文件来演示一下如何访问MySQL数据库。
importjava.sql.*;
publicclassJDBCTest{
publicstaticvoidmain(String[]args){
//驱动程序名
Stringdriver="com.mysql.jdbc.Driver";
//URL指向要访问的数据库名scutcs
Stringurl="jdbc:mysql://127.0.0.1:3306/scutcs";
//MySQL配置时的用户名
Stringuser="root";
//MySQL配置时的密码
Stringpassword="root";
try{
//加载驱动程序
Class.forName(driver);
//连续数据库
Connectionconn=.(url,user,password);
if(!conn.isClosed())
System.out.println("!");
//statement用来执行SQL语句
Statementstatement=conn.();
//要执行的SQL语句
Stringsql="select*fromstudent";
//结果集
ResultSetrs=statement.(sql);
System.out.println("-----------------");
System.out.println("执行结果如下所示:");
System.out.println("-----------------");
System.out.println("学号"" ""姓名");
System.out.println("-----------------");
Stringname=null;
while(rs.next()){
//选择sname这列数据
name=rs.getString("sname");
/*何问起hovertree*/
//首先使拍派用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
//然后使用GB2312字符集解码指定的字节数组物慧
name=newString(name.getBytes("ISO-8859-1"),"GB2312");
//输出结果
System.out.println(rs.getString("sno")" "name);
}
rs.close();
F. mysql必须和java一起用吗
mysql必须陆伍和java一起用。答唤要在Java系统访问MySQL,得加个MySQL驱动依赖,才能和MySQL建立连接,然后执行CRUD:maven配置,这段清悉凯maven配置中就引入了一个MySQL驱动。
G. javaweb怎么连接mysql数据库(javaweb项目连接MySQL数据库)
安装好mysql之后,那么你现在应誉雀猛该安装JDK了(JDK1.6就可以)
安装好JDK之后,就是安装Eclipse了,要支持JDK版本,Eclipse安装的时候会自动去找JDK安装位置的,如果你庆桥是解压版的Eclipse,就要配置eclipse.ini文件了,将对应的JDK配置好,这些已经准备就绪的时候,就到mysql中创建数据库和表
先创建数据库:
CREATEDATABASESCUTCS;
接着,创建岁此表:
CREATETABLESTUDENT
(
SNOCHAR(7)NOTNULL,SNAMEVARCHAR(8)NOTNULL,SEXCHAR(2)NOTNULL,BDATEDATENOTNULL,HEIGHTDEC(5,2)DEFAULT000.00,PRIMARYKEY(SNO)
);
然后插入数据,可以用SQL语句insertinto<表名 H. java是怎么连接mysql数据库的 使用java连接MySQL数据库与其他的数据库连接核心是一样的,如果说区别,那就是所需的驱动不一样。 工具/原料 MySQL、JDK 方法/步骤 1、首先需要安装好JDK(配置环境变量),如图所示: 3、最后通过代码进行连接。 (1)确定连接路径URL: String url="jdbc:mysql://localhost(可以是本机IP地址):3306(端口号)/mysqltest(数据库名称)?"+"user=用户账号&password=用户密码&useUnicode=字符编码"; (2)加载驱动: Class.forName("com.mysql.jdbc.Driver"); (3)连接,获取Connection对象 Connection conn=DriverManager.getConnection(url) (4)可以通过conn对象检验连接与否。 I. 大数据分析师面试必备:java与mysql解析 【导读】作为大数据工程师,其必须要掌握的基础知识就是java与mysql的关系、交互和连接,作为基础,也是面试考官经常会考的内容,为了帮助大家都能顺利通过考试,今天小编就来和大家唠一唠java与mysql的关系、交互和连接,好了,开始今天的内容大数据分析师面试必备:java与mysql解析。 1. SQL语言四大类: DQL 数据查询语言 select DML 数据操作语言 insert、update、delete DDL 数据界说语言 create、alter DCL 数据控制语言 grant权限 2. mysql数据库中的decimal类型(是数值型,不能存放字符串): 举例:decimal(18,0) 常用于身份证号码,但是带x的不可以。 举例:decimal(5,2) 状况一:假设小数点前面是3位,后边是2位,正常状况。 状况二:5指的是小数点前后不能超过5位,小数点后有必要是2位。 3. mysql中InnoDB和MyISAM引擎的差异: innodb支撑:事务和主外键 myisam不支撑:事务和主外键 4. 【不需要背诵,选择题考点】向mysql中,a向表中添加数据的几种写法,题目:id int 主键自增,name varchar(11) 5. 操作mysql数据库表有两种方式,第一种:点八点吧;第二种:写代码。【不需要背诵,只需要了解,考试选择题会出】 6. 在Java中,简述面向对象三大特征。 7. 在Java中,常用关键字: 1. 定义类的关键字是什么? class 2. 继承的关键字是什么? extends 3. 定义接口的关键字是什么? interface 4. 实现接口的关键字是什么? implements 5. 抽象类的关键字是什么? abstract 8. 在Java中,抽象类和接口的区别: 1. 抽象类中可以包含普通方法和抽象方法,接口中只能包含抽象方法 2. 抽象类中可以有构造方法,接口中没有构造方法 3. 抽象类只能单继承,可以实现多个接口 9. Java接口中有哪些成员? 1. 构造方法,没有 2. 常量,默认访问修饰符public static final,没有变量 3. 抽象方法,默认访问修饰符public abstract 10. 在Java中,抽象类和抽象方法的关系: 1. 抽象类中可以包含普通方法和抽象方法,抽象方法一定存在抽象类中。 2. 子类继承抽象父类,必须实现|重写抽象方法,除非子类也是抽象类。 3. 【判断题】抽象类中必须包含抽象方法?【错误×】 4. 【判断题】抽象方法一定存在抽象类中?【正确√】 11. Java重载的特点: 1. 在同一个类中 2. 方法名相同 3. 参数列表(个数、类型、顺序)不同 4. 与返回值类型和访问修饰符无关 12. Java重写的特点: 1. 在父子类中 2. 方法名相同 3. 参数列表相同 4. 返回值类型相同,或是其子类 5. 访问修饰符相同,或不能严于父类 13. 列举几种Java实现多态的形式: 1. 继承的存在 2. 父类引用指向子类对象 | 向上转型 3. 父类作为方法的返回值类型,父类作为方法的参数 14. Java接口的特性:单根性和传递性 15. 在Java中,throws和throw的区别: 1. throws 声明异常,用在定义方法小括号的后面 2. throw 抛出异常,写在方法体内 以上就是小编今天给大家整理发送的关于大数据分析师面试必备:java与mysql解析的相关内容,希望对各位考生有所帮助,想知道更多关于数据分析师的基本要求有哪些,关注小编持续更新数据分析师岗位解析。 J. java如何连接mySQL数据库 1.下面代码是使用jdbc直接来链接mysql的操作,方式与SQL SERVER类似,区别在于加载的驱动不同,url的设置也有点区别。
不为空。