本文目录一览:
怎样用java连接mysql
//就只有4个步骤:1.加载驱动;2.链接数据库;3.执行命令;4.关闭数据库;
import java.sql.*;
class MysqlConnection
{
/*要是更换数据库,就直接更换这些语句就行了,main函数的那些都不用动的,主要是驱动(DBDRIVER)和链接方式(DBURL)*/
private static String DBDRIVER = "org.gjt.mm.mysql.Driver";//这个是与下载jdbc-mysql里面的那个driver.class文件是对应的,你
//可以解压找下,会发觉驱动就是那个鬼东西的。。
private static String DBURL = "jdbc:mysql://localhost:3306/study";/*
jdbc:mysql://localhost:3306:test这句里面分如下解析:
jdbc:mysql:// 是指JDBC连接方式;
localhost: 是指你的本机地址;
3306 SQL数据库的端口号;
study 就是你要连接的数据库的地址。
你可以试下不要这个'study',或者胡乱接一个不存在的数据库,
然后还可以执行下面语句来实现连接数据库(a)
*/
private static String DBUSER = "scott";
private static String DBPASSWORD = "tiger";
public static void main(String[] args)throws Exception
{
Class.forName(DBDRIVER);//1.加载驱动
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);//2.获得链接
Statement statement = conn.createStatement();//3.执行命令
//statement.executeUpdate("use study");//(a)要是没有上面的那个数据库,就要使用这个函数来连接数据库
ResultSet result = statement.executeQuery("SELECT * FROM emp");//结果收集,迭代
while(result.next()){
printf(result.getObject(1)+" ");
printf(result.getObject(2)+" ");
printf(result.getObject(3)+" ");
printf(result.getObject(4)+"\n");
}
conn.close();
}
public static void printf(Object obj){
System.out.print(obj);
}
public static void printfln(Object obj){
System.out.println(obj);
}
}
java怎么连接mysql数据库
这里介绍两种方式:
一,jdbc链接MySQL数据库:
1,如果你用jdbc方式,则按照下列方式进行连接:
A,注册驱动
B,链接数据库
C,执行sql
D,返回结果集
如下为一个基本完整流程:
package com.hu.demo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class DBHelper {
public static final String url = "jdbc:mysql://127.0.0.1/student";
public static final String name = "com.mysql.jdbc.Driver";
public static final String user = "root";
public static final String password = "root";
public Connection conn = null;
public PreparedStatement pst = null;
public DBHelper(String sql) {
try {
Class.forName(name);//指定连接类型
conn = DriverManager.getConnection(url, user, password);//获取连接
pst = conn.prepareStatement(sql);//准备执行语句
} catch (Exception e) {
e.printStackTrace();
}
}
public void close() {
try {
this.conn.close();
this.pst.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
2,将注册,链接封装好,执行sql语句,返回结果集,代码如下:
package com.hu.demo;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Demo {
static String sql = null;
static DBHelper db1 = null;
static ResultSet ret = null;
public static void main(String[] args) {
sql = "select *from stuinfo";//SQL语句
db1 = new DBHelper(sql);//创建DBHelper对象
try {
ret = db1.pst.executeQuery();//执行语句,得到结果集
while (ret.next()) {
String uid = ret.getString(1);
String ufname = ret.getString(2);
String ulname = ret.getString(3);
String udate = ret.getString(4);
System.out.println(uid + "\t" + ufname + "\t" + ulname + "\t" + udate );
}//显示数据
ret.close();
db1.close();//关闭连接
} catch (SQLException e) {
e.printStackTrace();
}
}
}
3,查询结果如下:
二,利用框架链接MySQL,这里是springMVC+Mybatis方式链接,主要是配置文件:
config.properties文件
validationQuery=SELECT 1
#jdbc_url=jdbc\:mysql\://110.80.10.198\:3306/irrigation?useUnicode\=truecharacterEncoding\=UTF-8zeroDateTimeBehavior\=convertToNull
#jdbc_username=root
#jdbc_password=2025900
jdbc_url=jdbc:mysql://localhost:3306/test?useUnicode=truecharacterEncoding=UTF-8zeroDateTimeBehaviorsss=convertToNull
jdbc_username=root
jdbc_password=123456
spring-mabatis.xml文件,进行相关配置
?xml version="1.0" encoding="UTF-8"?
beans xmlns=""
xmlns:xsi="" xmlns:tx=""
xmlns:aop=""
xsi:schemaLocation="
"
!-- 配置数据源 --
bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
init-method="init" destroy-method="close"
property name="url" value="${jdbc_url}" /
property name="username" value="${jdbc_username}" /
property name="password" value="${jdbc_password}" /
!-- 初始化连接大小 --
property name="initialSize" value="0" /
!-- 连接池最大使用连接数量 --
property name="maxActive" value="20" /
!-- 连接池最小空闲 --
property name="minIdle" value="0" /
!-- 获取连接最大等待时间 --
property name="maxWait" value="60000" /
!-- property name="poolPreparedStatements" value="true" / property
name="maxPoolPreparedStatementPerConnectionSize" value="33" / --
property name="validationQuery" value="${validationQuery}" /
property name="testOnBorrow" value="false" /
property name="testOnReturn" value="false" /
property name="testWhileIdle" value="true" /
!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --
property name="timeBetweenEvictionRunsMillis" value="60000" /
!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --
property name="minEvictableIdleTimeMillis" value="25200000" /
!-- 打开removeAbandoned功能 --
property name="removeAbandoned" value="true" /
!-- 1800秒,也就是30分钟 --
property name="removeAbandonedTimeout" value="1800" /
!-- 关闭abanded连接时输出错误日志 --
property name="logAbandoned" value="true" /
!-- 监控数据库 --
!-- property name="filters" value="stat" / --
property name="filters" value="mergeStat" /
/bean
!-- myBatis文件 --
bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"
property name="dataSource" ref="dataSource" /
!-- 自动扫描entity目录, 省掉Configuration.xml里的手工配置 --
property name="mapperLocations" value="classpath:com/fourfaith/*/mapping/*.xml" /
/bean
bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"
property name="basePackage" value="com.fourfaith.**.dao" /
property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /
/bean
!-- 配置事务管理器 --
bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
property name="dataSource" ref="dataSource" /
/bean
!-- 拦截器方式配置事物 --
tx:advice id="transactionAdvice" transaction-manager="transactionManager"
tx:attributes
tx:method name="add*" propagation="REQUIRED" /
tx:method name="append*" propagation="REQUIRED" /
tx:method name="insert*" propagation="REQUIRED" /
tx:method name="save*" propagation="REQUIRED" /
tx:method name="update*" propagation="REQUIRED" /
tx:method name="modify*" propagation="REQUIRED" /
tx:method name="edit*" propagation="REQUIRED" /
tx:method name="delete*" propagation="REQUIRED" /
tx:method name="remove*" propagation="REQUIRED" /
tx:method name="repair" propagation="REQUIRED" /
tx:method name="delAndRepair" propagation="REQUIRED" /
tx:method name="import*" propagation="REQUIRED" read-only="false"
rollback-for="java.lang.Exception" /
tx:method name="get*" propagation="SUPPORTS" /
tx:method name="find*" propagation="SUPPORTS" /
tx:method name="load*" propagation="SUPPORTS" /
tx:method name="search*" propagation="SUPPORTS" /
tx:method name="datagrid*" propagation="SUPPORTS" /
tx:method name="*" propagation="SUPPORTS" /
/tx:attributes
/tx:advice
aop:config
aop:pointcut id="transactionPointcut"
expression="execution(* com...*.service..*Impl.*(..))" /
aop:advisor pointcut-ref="transactionPointcut"
advice-ref="transactionAdvice" /
/aop:config
!-- 配置druid监控spring jdbc --
bean id="druid-stat-interceptor"
class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor"
/bean
bean id="druid-stat-pointcut" class="org.springframework.aop.support.JdkRegexpMethodPointcut"
scope="prototype"
property name="patterns"
list
valuecom...*.service.*/value
/list
/property
/bean
aop:config
aop:advisor advice-ref="druid-stat-interceptor"
pointcut-ref="druid-stat-pointcut" /
/aop:config
/beans
还有很多方式可以实现,这里就简略的描述一番。
java是怎么连接mysql数据库的
使用java连接MySQL数据库与其他的数据库连接核心是一样的,如果说区别,那就是所需的驱动不一样。
工具/原料
MySQL、JDK
方法/步骤
1、首先需要安装好JDK(配置环境变量),如图所示:
2、其次要安装好MySQL数据库,可以使用可视化Navicar For MySQL,如图所示:
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对象检验连接与否。
java怎么连接mysql
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.Statement;
public class MysqlDemo {
public static void main(String[] args) throws Exception {
Connection conn = null;
String sql;
// MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值
// 避免中文乱码要指定useUnicode和characterEncoding
// 执行数据库操作之前要在数据库管理系统上创建一个数据库,名字自己定,
// 下面语句之前就要先创建javademo数据库
String url = "jdbc:mysql://localhost:3306/javademo?"
+ "user=rootpassword=rootuseUnicode=truecharacterEncoding=UTF8";
try {
// 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来,
// 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来,下面三种形式都可以
Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动
// or:
// com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();
// or:
// new com.mysql.jdbc.Driver();
System.out.println("成功加载MySQL驱动程序");
// 一个Connection代表一个数据库连接
conn = DriverManager.getConnection(url);
// Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等
Statement stmt = conn.createStatement();
sql = "create table student(NO char(20),name varchar(20),primary key(NO))";
int result = stmt.executeUpdate(sql);// executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功
if (result != -1) {
System.out.println("创建数据表成功");
sql = "insert into student(NO,name) values('2012001','陶伟基')";
result = stmt.executeUpdate(sql);
sql = "insert into student(NO,name) values('2012002','周小俊')";
result = stmt.executeUpdate(sql);
sql = "select * from student";
ResultSet rs = stmt.executeQuery(sql);// executeQuery会返回结果的集合,否则返回空值
System.out.println("学号\t姓名");
while (rs.next()) {
System.out
.println(rs.getString(1) + "\t" + rs.getString(2));// 入如果返回的是int类型可以用getInt()
}
}
} catch (SQLException e) {
System.out.println("MySQL操作错误");
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
conn.close();
}
}
}
java中连接MySQL数据库的几种方式
Java要连接数据库,那么首先你必须安装mysql数据库。
安装好mysql之后,安装JDK了。
安装好JDK之后,就是安装Eclipse了,要支持JDK版本,Eclipse安装的时候会自动去找JDK安装位置的,解压版的Eclipse,就要配置eclipse.ini文件了,将对应的JDK配置好,这些已经准备就绪的时候,就到mysql中创建数据库和表。
先创建数据库:
CREATE DATABASE SCUTCS;
接着,创建表:
CREATE TABLE STUDENT
(
SNO CHAR(7) NOT NULL,
SNAME VARCHAR(8) NOT NULL,
SEX CHAR(2) NOT NULL,
BDATE DATE NOT NULL,
HEIGHT DEC(5,2) DEFAULT 000.00,
PRIMARY KEY(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);
// 连续数据库 Connection conn = DriverManager.getConnection(url, user, password);
if(!conn.isClosed()) System.out.println("Succeeded connecting to the Database!");
// statement用来执行SQL语句 Statement statement = conn.createStatement();
// 要执行的SQL语句 String sql = "select * from student";
// 结果集 ResultSet rs = statement.executeQuery(sql);
while(rs.next()) // 选择sname这列数据 name = rs.getString("sname
// 输出结果 System.out.println(rs.getString("sno") + "\t" + name); }
rs.close(); conn.close();
} catch(ClassNotFoundException e) {
System.out.println("Sorry,can`t find the Driver!"); e.printStackTrace();
} catch(SQLException e) {
e.printStackTrace();
} catch(Exception e) {
e.printStackTrace();
} } }