java对mysql数据库的操作分为以下几个步骤:

1.获取连接:

获取连接需要两步,一是使用DriverManager来注册驱动,二是使用DriverManager来获取Connection对象。

Connection con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/mydb1”,”root”,”123”);

JDBC规定url的格式由三部分组成,每个部分中间使用逗号分隔。

l第一部分是jdbc,这是固定的;

l第二部分是数据库名称,那么连接mysql数据库,第二部分当然是mysql了;

l第三部分是由数据库厂商规定的,我们需要了解每个数据库厂商的要求,mysql的第三部分分别由数据库服务器的IP地址(localhost)、端口号(3306),以及DATABASE名称(mydb1)组成。

还可以在url中提供参数:

jdbc:mysql://localhost:3306/mydb1?useUnicode=true&characterEncoding=UTF8

useUnicode参数指定这个连接数据库的过程中,使用的字节集是Unicode字节集;

characherEncoding参数指定穿上连接数据库的过程中,使用的字节集编码为UTF-8编码。请注意,mysql中指定UTF-8编码是给出的是UTF8,而不是UTF-8。要小心了!

2.获取Statement

在得到Connectoin之后,说明已经与数据库连接上了,下面是通过Connection获取Statement对象的代码:

Statement stmt = con.createStatement();

Statement是用来向数据库发送要执行的SQL语句的!

3.发送sql语句

//增加,删除,修改,返回的i为影响的行数

String sql ="xxxx";

int i = stmt.excuteUpdate(sql);           //查询 返回为结果集,可以同过rs.next()进行遍历

//rs.next();//光标移动到第一行

//rs.getInt(1);//获取第一行第一列的数据

String sql = “select * from user”;

ResultSet rs = stmt.executeQuery(sql);

4.关闭资源

与IO流一样,使用后的东西都需要关闭!关闭的顺序是先得到的后关闭,后得到的先关闭。

rs.close();

stmt.close();

con.close();

自己简单的封装了一下,让访问的移植性变得较好一些,还未用到连接池:

package com.db;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

/**

* 连接池,访问量大时,多开几条访问通道,少了,就减少访问通道

* */

public class DbUtile {

//定义几个变量分别用于存放数据库信息,便于数据库的移植

private String getDriver="com.mysql.jdbc.Driver";

private String getUrl="jdbc:mysql://localhost:3306/db1";

private String getUser="root";

private String getPwd="root";

Connection conn = null;

Statement state = null;

ResultSet rs = null;

public Connection getConn()

{

try {

Class.forName(getDriver);

try {

conn = DriverManager.getConnection(getUrl, getUser, getPwd);

} catch (SQLException e) {

e.printStackTrace();

}

} catch (ClassNotFoundException e) {

System.out.println("无法找到驱动类!");

}

return conn;

}

public Statement getState()

{

try {

state = getConn().createStatement();

} catch (SQLException e) {

e.printStackTrace();

}

return state;

}

//用于修改,更新,增加

public int getModify(String sql)

{

int i=0;

try {

getState().executeUpdate(sql);

} catch (SQLException e) {

e.printStackTrace();

}finally{

closeRs();

closeState();

closeConn();

}

return i;

}

//用于查询

public ResultSet getSelect(String sql)

{

try {

rs = getState().executeQuery(sql);

} catch (SQLException e) {

e.printStackTrace();

}//这里不能关闭资源,,否则rs是空的

return rs;

}

//用于关闭资源

public void closeConn()

{

try {

if(conn!=null&&!conn.isClosed())

{

conn.close();

}

} catch (SQLException e) {

e.printStackTrace();

}

}

public void closeState()

{

try {

if(state!=null&&!state.isClosed())

{

state.close();

}

} catch (SQLException e) {

e.printStackTrace();

}

}

public void closeRs()

{

try {

if(rs!=null&&!rs.isClosed())

{

rs.close();

}

} catch (SQLException e) {

e.printStackTrace();

}

}

}

这是测试的类,查询时,不要在查询函数离关闭资源,否则拿到的是空的集合:

package com.db;

import java.sql.ResultSet;

import java.sql.SQLException;

public class TestDbUtile {

public static void main(String[] args)

{

DbUtile dbu = new DbUtile();

String sql = "insert into duser (name,pwd,email,ddate) values ('laowang','123','abc@163.com',now())";

dbu.getModify(sql);

String sql2="select * from duser";

ResultSet rs = dbu.getSelect(sql2);

try {

while(rs.next())

{

System.out.print(rs.getInt("id")+"\t");

System.out.print(rs.getString("name")+"\t");

System.out.print(rs.getString("pwd")+"\t");

System.out.print(rs.getString("email")+"\t");

System.out.println(rs.getDate("ddate")+"\t");

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

dbu.closeRs();

dbu.closeState();

dbu.closeConn();

}

}

}

有不当之处还请指教~~~

java实现对mysql数据库的操作_java 对mysql数据库的基本操作相关推荐

  1. java实现对properties类型文件的读写

    在java项目中,我们通常会有一些配置属性的数据,采用properties文件对数据进行管理是很有必要的,尤其是在属性值改变和项目环境发生变化时,所以特地总结一下对properties文件的最常见的操 ...

  2. Java实现对PDF文件添加水印

    Java实现对PDF文件添加水印 目录 Java实现对PDF文件添加水印 导入依赖 工具方法 效果 最近项目中遇到对PDF添加水印,实现有多种,采取的是itextpdf 导入依赖 <!-- 对P ...

  3. java实现对pdf文件压缩,拆分,修改水印,添加水印

    最近要实现一个文件上传,并且在线预览上传文件的功能,设计思路是:把上传的文件通过openoffice转成pdf文件,并将pdf文件以流的形式返回到浏览器,由于上传的部分文件过大,转成pdf后传回前端浏 ...

  4. VC实现对Excel表格的操作

    转载请注明原文网址: http://www.cnblogs.com/xianyunhe/archive/2011/09/25/2190485.html 通过VC实现对Excel表格的操作的方法有多种, ...

  5. java验证xml格式是否正确的是_spring源码附录(1)java实现对XML格式的验证

    最近在看spring源码,涉及到xml文档的解析.xml文档的格式验证,发现自己对xml解析的基础较为薄弱,本篇博客复习下DOM方式解析xml(即spring解析xml的方式). DOM解析XML是将 ...

  6. [原创]C#通过引用Office Excel (2007) 组件实现对Excel文件的操作

    对用应用软件来说,将报表转出为Excel文件,进行二次加工,或者根据Excel模版填充数据,是非常常用的.实现对Excel文件的操作,如将报表转出为Excel或根据已有的Excel模版进行填充,有很多 ...

  7. java实现对rar文件和zip文件的解压缩

    java实现对rar文件和zip文件的解压缩 一.对zip文件的解压缩 1.1 使用ZIP4J实现 zip4j官方说明: Create, Add, Extract, Update, Remove fi ...

  8. JAVA ftps设置_Java使用JSCH实现对FTPS服务器文件操作

    SFTP是Secure File Transfer Protocol的缩写,安全文件传送协议.可以为传输文件提供一种安全的加密方法.SFTP 为 SSH的一部份,是一种传输文件到服务器的安全方式.SF ...

  9. java实现对HDFS增删改查(CRUD)等操作

    实现对HDFS增删改查CRUD等操作 1 查找 列出某个目录下的文件名称,hdfs命令如下所示: hdfs dfs –ls/usr/app java代码片段: [plain] view plain c ...

最新文章

  1. 【c语言】蓝桥杯算法训练 1的个数
  2. 电脑主板主要外部接口
  3. Python面试总结(四)ip正则与三次握手四次挥手
  4. 6本书,读懂2022年最火的边缘计算
  5. 硬核数据研究:年轻人为什么这么喜欢“哈哈哈哈”?
  6. Git upstream
  7. bootstrap中让图片自适应不同的分辨率的方法
  8. linux 系统添加字体,linux服务器下添加字体
  9. 微信小程序获取二维码:报错47001 data format error
  10. phpMyAdmin 登陆超时(1440秒未活动),请重新登录问题
  11. window下编译ffmpeg--mys2下安装对应库编译ffmpeg
  12. Py交易的基本遵循原则.
  13. 新视智科“5G+工业互联网”产品线南山研发中心揭牌成立,助力制造业转型创新发展
  14. 使用java开发spark实战
  15. 算法-回溯backtrack
  16. 八、面向对象的三大特性:封装,继承,多态
  17. Three.js--》实现3d官网模型展示
  18. CCF NOI1041. 志愿者选拔【sort】
  19. WordPress主题添加鼠标点击特效
  20. 结对项目——自动生成小学四则运算题目的命令行程序(基于Python)

热门文章

  1. 深入浅出了解下PDH中的CPOS接口
  2. linux 新建中文文件夹,linux中文文件夹如何改回英文
  3. AngularJs Cookies 操作
  4. 5个常用的机器学习python库
  5. 快商通横扫全球顶尖AI团队,闯进国际算法算例大赛决赛
  6. 去除mac系统下浏览器烦人的右侧和下侧广告条
  7. 一起玩转算法面试,保姆级攻略(附高清无码算法总结导图),建议收藏
  8. nyoj711zznu1624 最舒适的路线(第六届河南省程序设计大赛 广搜)
  9. 什么是 rektguy NFT系列?
  10. 手动升级CentOS内核到指定版本