java中连接自己的java读取mysql数据库库

Java连接MySQL数据库及简单操作代码
1.连接MySQL
Java连接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.5\MySQL-connector-java-5.0.5-bin.jar加到最后,在加这个字符串前要加&;&,以与前一个classpath区分开。然后确定。
import java.sql.*;
public class DataBasePractice {
public static void main(String[] args) {
//声明Connection对象
//驱动程序名
String driver = &com..jdbc.Driver&;
//URL指向要访问的数据库名mydata
String url = &jdbc:mysql://localhost:3306/mydata&;
//MySQL配置时的用户名
String user = &root&;
//MySQL配置时的密码
String password = &root&;
//遍历查询结果集
//加载驱动程序
Class.forName(driver);
//1.getConnection()方法,连接MySQL数据库!!
con = DriverManager.getConnection(url,user,password);
if(!con.isClosed())
System.out.println(&Succeeded connecting to the Database!&);
//2.创建statement类对象,用来执行SQL语句!!
Statement statement = con.createStatement();
//要执行的SQL语句
String sql = &select * from student&;
//3.ResultSet类,用来存放获取的结果集!!
ResultSet rs = statement.executeQuery(sql);
System.out.println(&-----------------&);
System.out.println(&执行结果如下所示:&);
System.out.println(&-----------------&);
System.out.println(& 学号& + &\t& + & 姓名&);
System.out.println(&-----------------&);
String name =
String id =
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);
rs.close();
con.close();
} catch(ClassNotFoundException e) {
//数据库驱动类异常处理
System.out.println(&Sorry,can`t find the Driver!&);
e.printStackTrace();
} catch(SQLException e) {
//数据库连接失败异常处理
e.printStackTrace();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
System.out.println(&数据库数据成功获取!!&);
2.添加、修改、删除操作
在上面while代码段后面添加以下代码段:
String name =
String id =
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);
//预处理添加数据,其中有两个参数--&?&
psql = con.prepareStatement(&insert into student values(?,?)&);
psql.setInt(1, 8);
//设置参数1,创建id为5的数据
psql.setString(2, &xiaogang&);
//设置参数2,name 为小明
psql.executeUpdate();
//执行更新
//预处理更新(修改)数据
psql = con.prepareStatement(&update student set stuname = ? where stuid = ?&);
psql.setString(1,&xiaowang&);
//设置参数1,将name改为王五
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 student&);
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();
该代码段使用到了预处理语句:
con.prepareStatement(String sql);
这样生成数据库底层的内部命令,并将该命令封装在preparedStatement对象中,可以减轻数据库负担,提高访问数据库速度。 运行结果:09:23 提问
远程连接服务器上,在自己的帐号下建立java连接mysql的程序,但是一直连接不上
我是通过远程连接在实验室机房的一台机器(linux操作系统)上,然后在该机器上建立JAVA程序,其中涉及到连接mysql数据库的操作,但是在获取连接时一直提示“Communications link failure“,涉及的代码为:connect=DriverManager.getConnection("jdbc:mysql://localhost:3306/pyq_test","root","120116");
按赞数排序
需要服务器端配置
/etc/mysql/my.cnf
找到 bind-address
=127.0.0.1
将其注释掉;//作用是使得不再只允许本地访问;
重启mysql:/etc/init.d/
查查看,MySQL服务Service启动了吗?
MYsql 权限 是否 为% 任何一台电脑都可以连?
用mysql服务登陆mysql,查看权限:
给root用户
GRANT ALL ON pyq_test.* TO root@% IDENTIFIED BY 'root';
url的ip地址有问题啊,你应该填你实验室机器的ip地址啊。
换成127.0.0.1试试,以前好像遇见过,不是大问题
最近我也碰到了相似的问题,问题可能很多种,IP问题,数据源配置问题等等。需要一个一个排查吧
我遇到的我都给出解答了,看看能不能给你些思路
Connection conn =
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/mstx","root","XXX");
url的错误啊,换为你实验室的地址啊
你的url有问题,应该配成服务器的IP地址,i这样是访问你本机
jdbc:mysql://localhost:3306
localhost 是特指本机ip,相当于
127.0.0.1; 程序会直接请求本机的3306端口。
你应该将 localhost替换成服务器的ip地址。
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐java如何连接mySQL数据库?_百度知道
java如何连接mySQL数据库?
mySQL数据库是之前用PHPnow默认配置好的(所以不在mySQL位置不在默认的目录),版本号是MySQL-5.0.90。现在用java写程序的时候也要用到数据库,在网上查了点资料下载了mysql-connector-java-5.0.8.zip,然后写了个测试程序连接之前电脑里已经建立的数据库,老...
我有更好的答案
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();&&&&&&&& }&}&}
具体报什么错误啊,你的包有没有导入进去啊? public Connection getConnection() {
Class.forName(&com.mysql.jdbc.Driver&);
String url = &jdbc:mysql://localhost:3306/test&;
String user = &root&;
String passWord = &&;
conn = DriverManager.getConnection(url, user, passWord);
if(conn != null)
System.out.println(&数据库连接成功&);
}catch(Exception e)
e.printStackTrace();
貌似就是没导入,还不知道导入的不对。应该怎么导入包呢?报错是Exception in thread &main& java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
你的项目名称:右键-》bulid Pah -&configure bulid Pah -》add external jars,然后选择你的mysql包就可以了
本回答被提问者采纳
如果是用驱动连接,那么你的jar包 没有导入。
那么如何导入jar包啊?
很简单,百度上搜索java 连接mysql jar包,下载一个。然后在你开发工程 右键管理jar包,然后指定jar包如果这个不会,就复制你的下载的jar包,粘贴在工程下的lib目录下。
这个是jsp版的,lz可以参考下
驱动找不到是你jar包中驱动类的地址写错了吧?你把包打开看看具体位置
其他2条回答
为您推荐:
其他类似问题
您可能关注的内容
mysql数据库的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。JavaWeb的数据库操作:通过JDBC连接MySQL数据库实现图书信息添加功能
JavaWeb的数据库操作
JDBC[Java数据库连接:Java Data Base Connectivity]连接数据局的过程:
1、注册数据库驱动:
连接数据库前,需要将数据库厂商提供的数据库驱动类注册到JDBC的驱动管理中。
Class.forName("com.mysql.jdbc.Driver");
2、构建数据库连接URL[统一资源定位器:Uniform Resource Locator]:
要建立数据库连接,就要构建数据库连接的URL(这个URL有数据库厂商制定,不同的数据库它的URL也有所区别)
都符号一个URL的基本格式,即"JDBC协议+IP地址或域名+端口号+数据库名称"
如MySQL数据库的URL:"jdbc:mysql://localhost:3306/test"。
3、获取Connection对象
在注册了数据库驱动及构建数据库URL后,就可以通过驱动管理程序获取数据库的连接Connection。
Connection对象是JDBC封装的数据库连接对象,获取方法如下:
Connection
conn=DriverManager.getConnection(url,username,password);
说明:1、Connection对象的获取需要用到DriverManager对象,DriverManager的
getConnection()方法通过数据库连接URL、数据库用户名及数据库密码创建Connection对象。
&2、在JDK中,不包含数据库的驱动程序,使用JDBC操作数据库,需要事先下载
数据库厂商提供的驱动包。MySQL官方提供的数据库驱动包(放置到项目的lib文件夹下),
其名称为:mysql-connectior-java-5.1.10-bin.jar。
&3、Connection连接;Driver驱动程序;Manager管理
关键代码:
&&&Class.forName("com.mysql.jdbc.Driver");&&//加载数据库渠道,注册到驱动管理器
url="jdbc:mysql://localhost:3306/test"; //数据库连接字符串
username="root";&&&//数据库用户名
password="123456";&&//数据库密码
&&&Connection
conn=DriverManager.getConnection(url,username,password);
//创建connection连接
&&&if(conn!=null){&&&&&//判断数据库连接是否为空
&&&&out.println("数据库连接成功!");//输出连接信息
&&&&conn.close();&&&&//关闭数据库连接
&&&&out.println("数据库连接失败!");
&&}catch(ClassNotFoundException
&&&e.printStackTrace();
&&}catch(SQLException e){
&&&e.printStackTrace();
//Java Web从入门到精通。 例10.3&
通过JDBC连接MySQL数据库实现图书信息添加功能&
1、新建MySql数据库名Books,表名tb_books:
USE `books`;
DROP TABLE IF EXISTS `tb_books`;
CREATE TABLE `tb_books` (
& `id` int(11) NOT NULL AUTO_INCREMENT COMMENT
& `NAME` varchar(45) NOT NULL COMMENT
'图书名称',
& `price` double NOT NULL COMMENT '价格',
& `bookCount` int(11) NOT NULL COMMENT '数量',
& `author` varchar(45) NOT NULL COMMENT
& PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
2、创建Book_10_3.java文件,用于封装图书对象信息。
package com.jdbc.
public class Book_10_3 {
&private int
&private String
&//图书名称
&private int
bookC&//数量
&private String
&public int getId() {
&public void setId(int id) {
&&this.id =
&public String getName() {
&public void setName(String name) {
&&this.name =
&public double getPrice() {
&public void setPrice(double price) {
&&this.price =
&public int getBookCount() {
&&return bookC
&public void setBookCount(int bookCount) {
&&this.bookCount =
&public String getAuthor() {
&public void setAuthor(String author) {
&&this.author =
3、创建10.3-index.jsp页面,它是程序中的主页,用于放置添加图书信息所需要的表单,该表单提交到10.3-AddBook.jsp页面进行处理。
//Java Web从入门到精通。 例10.3(3)&
通过JDBC连接MySQL数据库实现图书信息添加功能 ( P214)
script type="text/javascript"
&function check(form){
&&with(form){
&&&if(name.value==""){
&&&&alert("图书名称不能为空!");
&&&&return
&&&if(price.value==""){
&&&&alert("价格不能为空!");
&&&&return
&&&if(bookCount.value==""){
&&&&alert("数量不能为空!");
&&&&return
&&&if(author.value==""){
&&&&alert("作者不能为空!");
&&&&return
&&& align="center" width="450"
border="0"&
4、创建10.3-AddBook.jsp页面,用于对添加图书信息请求进行处理,该页面通过JDBC所提交的图书信息数据写入数据库中。
//Java Web从入门到精通。 例10.3(4)&
通过JDBC连接MySQL数据库实现图书信息添加功能 ( P214)
&&Class.forName("com.mysql.jdbc.Driver");&&
//加载数据库驱动,注册到驱动管理器
url="jdbc:mysql://localhost:3306/books";&//数据库连接字符串
username="root";&&&&&&
//数据库用户名
password="123456";&&&&&
//数据库密码
&&Connection
conn=DriverManager.getConnection(url,username,password);
//创建Connection连接
&&if(conn!=null){&&&&&//判断数据库连接是否为空
&&&out.println("数据库连接成功!");//输出连接信息
&&&//conn.close();&&&&//关闭数据库连接
&&&out.println("数据库连接失败!");
&&String sql="insert into
tb_books(name,price,bookCount,author)
values(?,?,?,?)";&//添加图书信息的SQL语句
&&PreparedStatement
ps=conn.prepareStatement(sql);&//获取PreparedStatement
&&ps.setString(1,
book.getName());&&&//对SQL语句中的第1个参数赋值
&&ps.setDouble(2,
book.getPrice());&&&//对SQL语句中的第2个参数赋值
&&ps.setInt(3,
book.getBookCount());&&&//对SQL语句中的第3个参数赋值
&&ps.setString(4,
book.getAuthor());&&&//对SQL语句中的第4个参数赋值
&&int row =
ps.executeUpdate();&&&&//执行更新操作,返回所影响的行数
&&if(row&0){&&&&&&&&&//判断是否更新成功
&&&out.print("成功添加了"+row+"条数据!");&&//输出更新成功信息
&&ps.close();&&&&&&&&&//关闭PreparedStatement,释放资源
&&conn.close();&&&&&&&&//关闭Connection,释放资源
&}catch(Exception e){
&&out.print("图书信息添加失败!");
&&e.printStackTrace();
添加图书信息
图书名称:
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 java读取mysql数据库 的文章

 

随机推荐