在java中使用mysql

在java中使用mysql

概略

安装环境:windows 10, eclipse

安装mysql
运行mysql并且新建数据库feedback
将所需的jar添加到工程里
在代码中连接数据库并且进行查询

安装mysql

下载地址:mysql-install-community下载

下载后

安装sqlserver就行了,其他的应该暂时还不需要用到,最后需要设置密码,要记住,在后面我们需要使用账号密码登陆数据库.

运行mysql,新建数据库

登陆数据库

进入mysql的安装目录下,进入bin目录,默认应该为C:\Program Files\MySQL\MySQL Server 5.6\bin,输入
mysql -u root -p
输入你的密码

此时应该显示一大串数据库相关的内容,这个时候我们就可以输入sql语句了.
接下来我们新建数据库以便等下在java程序中使用

新建数据库并切换至新建的数据库

  1. create database feedback;
  2. use feedback;
  3. CREATE USER sqluser IDENTIFIED BY ‘sqluserpw‘;
  4. grant usage on *.* to [email protected] identified by ‘sqluserpw‘;
  5. grant all privileges on feedback.* to [email protected];
  6. CREATE TABLE comments (id INT NOT NULL AUTO_INCREMENT,
  7. MYUSER VARCHAR(30) NOT NULL,
  8. EMAIL VARCHAR(30),
  9. WEBPAGE VARCHAR(100) NOT NULL,
  10. DATUM DATE NOT NULL,
  11. SUMMARY VARCHAR(40) NOT NULL,
  12. COMMENTS VARCHAR(400) NOT NULL,
  13. PRIMARY KEY (ID));
  14. INSERT INTO comments values (default, ‘lars‘, ‘[email protected]‘,‘http://www.vogella.com‘, ‘2009-09-14 10:33:11‘, ‘Summary‘,‘My first comment‘);

这样,我们就新建了一个名称为feedba的数据库,并且新建了一个表table,其行分别为id,myuser,email,webpage,datum,summary,comments,primary.
我们还需要最后一步操作,输入

status

找到TCPport这一行,记住端口号.

将所需要的jar包添加到项目中

需要的jar包下载:mysql-connector-java下载
怎么导入到eclipse就请自行解决啦.

在代码中连接数据库并且进行查询

  1. private Connection connect = null;
  2. Class.forName("com.mysql.jdbc.Driver");
  3. // Setup the connection with the DB
  4. //3306是端口号(TCP port),feedback为使用的数据库(上面已经新建了),password需要替换
  5. connect = DriverManager
  6. .getConnection("jdbc:mysql://localhost:3306/feedback?"
  7. + "user=root&password=your_passworld");
  8. statement = connect.createStatement();
  9. // Result set get the result of the SQL query

连接数据库后就可以执行一些相关的sql语句了,比如使用statement进行查询操作:

  1. Statement statement = connect.createStatement();
  2. ResultSet resultSet = statement
  3. .executeQuery("select * from feedback.comments");

比如使用PreparedStatement进行插入操作

  1. PreparedStatement preparedStatement = connect
  2. .prepareStatement("insert into feedback.comments values (default, ?, ?, ?, ? , ?, ?)");
  3. // "myuser, webpage, datum, summery, COMMENTS from feedback.comments");
  4. // Parameters start with 1
  5. preparedStatement.setString(1, "Test");
  6. preparedStatement.setString(2, "TestEmail");
  7. preparedStatement.setString(3, "TestWebpage");
  8. preparedStatement.setDate(4, new java.sql.Date(2009, 12, 11));
  9. preparedStatement.setString(5, "TestSummary");
  10. preparedStatement.setString(6, "TestComment");
  11. preparedStatement.executeUpdate();

使用PreparedStatement进行查询操作

  1. preparedStatement = connect
  2. .prepareStatement("SELECT myuser, webpage, datum, summary, COMMENTS from feedback.comments");
  3. resultSet = preparedStatement.executeQuery();

ResultSet是一个类似迭代器的东西,可以对查询结果进行遍历

  1. while (resultSet.next()) {
  2. // It is possible to get the columns via name
  3. // also possible to get the columns via the column number
  4. // which starts at 1
  5. // e.g. resultSet.getSTring(2);
  6. String user = resultSet.getString("myuser");
  7. String website = resultSet.getString("webpage");
  8. String summery = resultSet.getString("summary");
  9. Date date = resultSet.getDate("datum");
  10. String comment = resultSet.getString("comments");
  11. System.out.println("User: " + user);
  12. System.out.println("Website: " + website);
  13. System.out.println("Summery: " + summery);
  14. System.out.println("Date: " + date);
  15. System.out.println("Comment: " + comment);
  16. }

参考资料

http://www.vogella.com/tutorials/MySQLJava/article.html
http://www.vogella.com/tutorials/MySQL/article.html

源码下载

CSDN

来自为知笔记(Wiz)

时间: 2024-10-09 21:13:26

在java中使用mysql的相关文章

【Mysql】Java中对Mysql数据库的增删改查、Java的System类

这部分也是所谓JDBC.网站数据源的内容,把名字弄得很高深似得,实际上只是Java中对Mysql数据库的增删改查的内容.非常简单,之前写了这么多Mysql的内容,没好好总结一下,实在是不应该.今天就实现一个Java中对Mysql数据库的增删改查,随便带点Java取出当前系统的系统名与系统时间的知识,完成一个还算有点意思的小例子. 一.基本目标 首先,在Mysql数据库中有一张名为testtable的空表,id为自增列,username,class都是文本列,但是class里面都存放数字,也就是整

java中存储mysql数据库时间类型【date、time、datetime、timestamp】

在MySQL中对于时间的存储自己见表的时候都是设置的varchar类型的,感觉挺方便的. 昨天拿别人建好的表写代码,发现这张表中时间类型为datetime的,凭感觉试了一下不行,网上查了刚开始试了好几个都是不对的,一脸懵逼. -----------------------------------------------------------------------------------------------------------------------------------------

JAVA中连接mysql数据库

上周做了数据库的课程设计,用的是java语言和mysql数据库,其中就涉及java连接数据库的相关知识. 首先我们需要添加一个jar文件,就相当于连接的一个驱动文件,这里我添加的是这个文件:mysql-connector-java-5.1.13-bin.jar 然后我们就可以进行数据库的连接了,在java里面进行一些数据库中的操作:增,删,改,查: 然后在java中创建一个user类,在mysql中创建一个user表: package entity; public class user { pr

java中向Mysql插入中文字符出现乱码

昨天新建了个Mysql数据库表,在JAVA中插入中文字符时,发现数据库中的插入结果是乱码.实际是字符集不符合问题. 针对这个问题的解决方法有很多,例如这个文章java与mysql乱码的问题不过我建议将表删掉重新建表,建表时默认字符集设置为UTF-8,这样可以避免以后出现各种问题. 可以通过语句show create table table_name来查看该表的编码格式.例如我的是: CREATE TABLE `blog` ( `title` varchar(30) NOT NULL DEFAUL

MySQL---数据库从入门走向大神系列(八)-在java中执行MySQL的存储过程

http://blog.csdn.net/qq_26525215/article/details/52143733 在上面链接的博客中,写了如何用MySQL语句定义和执行存储过程 Java执行存储过程: 准备表stud: 列类型分别为: varchar,varchar,int 定义的存储过程分别为: p1:-无参 delimiter && create procedure p1() begin insert into stud values('P100','小李',43); select

java 中的mysql调用

java和mysql 调用代码重点记录 使用开发工具:idea 使用平台:ubuntu 14.10 java部分 // JDBC 驱动名及数据库 URL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost:3306/student_info"; // 连接mysql Connection conn

在Java中向MySQL添加数据,statement

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; public class QueryDemo { public static void main(String[

Java 中使用MySQL

控制台简易命令使用 权限 mysql -u root -p //回车输入密码 改密码update user set password=password("123456") where user="root"; 或者mysqladmin -u USER -p password 新密码 操作数据库 show databases;//查询所有数据库 create database django DEFAULT CHARACTER SET utf8 COLLATE utf8

Java中日期类型和mysql中日期类型进行整合

1. java与mysql中日期.时间类型总结: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 mysql(版本:5.1.50)的时间日期类型如下: datetime 8bytes xxxx-xx-xx xx:xx:xx 1000-01-01 00:00:00到9999-12-31 23:59:59 timestamp 4bytes xxxx-xx-xx xx:xx:xx 1970-01-01 00:00:01到2038 date 3bytes xxxx-x