每天叫醒自己的不是闹钟,而是梦想


数据库: create table t1(id int primary key not null auto_increment,name varchar(32),password varchar(32)); insert into t1(name,password) values('admin','123');
insert into t1(name,password) values('zhangsan','123');
insert into t1(name,password) values('lisi','123'); Java代码: mySqlConnection.java代码:
package com.dbdao.mysql; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; import org.junit.Test; public class mySqlConnection { //创建数据库驱动名称
private static String Driver_class="com.mysql.jdbc.Driver"; //数据库链接地址
private String url="jdbc:mysql://localhost:3306/test"; //数据库用户名
private String user="root"; //数据库密码
private String password="11"; //数据库链接
private Connection con=null; //准备声明sql语句
private PreparedStatement pstmt=null; //结果集
private ResultSet rs=null; //影响行数
private int i; /*
* 创建驱动
* */
static{ try {
Class.forName(Driver_class);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } /*
* 加载驱动
* */
@Test
public void getConnect() {
// TODO Auto-generated method stub
try {
con=DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} //判断数据库是否加载成功
if(con!=null){ System.out.println("数据库加载成功!"); }else{ System.out.println("数据库加载失败!"); } } /*
* 执行sql语句
* */
public void doSql(String sql,Object[] object) {
// TODO Auto-generated method stub //判断sql语句是否存在
if(sql!=null){ //加载驱动
getConnect(); //判断object数组是否存在
if(object==null){ //如果不存在,创建一个,防止出现空指针异常
object=new Object[0]; } try { //声明一条准备的sql语句
pstmt=con.prepareStatement(sql); //为Object对象一一赋值
for(int i=0;i<object.length;i++){ pstmt.setObject(i+1, object[i]); } //执行声明的sql语句
pstmt.execute(); } catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }else{ System.out.println("sql语句并不存在!"); } } /*
* 获取结果集
* */
public ResultSet getRS(){ try { //获取结果集方法
rs=pstmt.getResultSet(); } catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} //返回结果集
return rs; } /*
* 获取影响行数
* */
public int getUpdateCount() {
// TODO Auto-generated method stub try { //获取影响行数方法
i=pstmt.getUpdateCount(); } catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} //返回影响行数
return i; } /*
* 关闭方法
* */
public void getClose() {
// TODO Auto-generated method stub //关闭结果集
try { //结果集关闭方法
rs.close(); } catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{ //关闭声明的sql语句
try { //关闭声明的sql语句方法
pstmt.close(); } catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{ //卸载驱动
try { //驱动卸载方法
con.close(); } catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
} } } loginService.java代码:
package com.service; import java.sql.ResultSet;
import java.sql.SQLException; import org.junit.Test; import com.dbdao.mysql.mySqlConnection; public class loginService { //导入mySqlConnection类
mySqlConnection mysqlCon=new mySqlConnection(); //准备sql语句
private String sql; //影响行数(数据变更后,影响行数都是大于0,等于0时没变更,所以说如果变更失败,那么影响行数必定为负)
private int i=-1; //结果集
private ResultSet rs; /*
* 插入数据
* */
@Test
public void insert() {
// TODO Auto-generated method stub //创建sql语句
sql="insert into t1(name,password) values(?,?)"; //创建object数组
Object[] object=new Object[]{"admin","123456"}; //执行sql语句
mysqlCon.doSql(sql, object); //获取影响行数
i=mysqlCon.getUpdateCount(); //判断是否插入成功
if(i!=-1){ System.out.println("数据插入成功!"); }else{ System.out.println("数据插入失败!"); } //关闭链接
mysqlCon.getClose(); } /*
* 删除数据
* */
@Test
public void delete() {
// TODO Auto-generated method stub //创建sql语句
sql="delete from t1 where id=?"; //创建object数组
Object[] object=new Object[]{3}; //执行sql语句
mysqlCon.doSql(sql, object); //获取影响行数
i=mysqlCon.getUpdateCount(); //判断是否删除成功
if(i!=-1){ System.out.println("数据删除成功!"); }else{ System.out.println("数据删除失败!"); } //关闭链接
mysqlCon.getClose(); } /*
* 更新数据
* */
@Test
public void update() {
// TODO Auto-generated method stub //创建sql语句
sql="update t1 set password=? where name=?"; //创建Object数组
Object[] object=new Object[]{"11","admin"}; //执行sql语句
mysqlCon.doSql(sql, object); //获取影响行数
i=mysqlCon.getUpdateCount(); //判断数据是否更新成功
if(i!=-1){ System.out.println("数据更新成功!"); }else{ System.out.println("数据更新失败!"); } //关闭链接
mysqlCon.getClose(); } /*
* 遍历数据
* */
@Test
public void select() {
// TODO Auto-generated method stub //创建sql语句
sql="select * from t1"; //执行sql语句
mysqlCon.doSql(sql, null); //获取结果集
rs=mysqlCon.getRS(); //判断结果集是否为空
if(rs!=null){ try { //将光标移动到结果集末端,注意此处不能使用rs.afterLast();否则为空值。
rs.last(); //获取结果集行数
i=rs.getRow(); //判断结果集是否存在
if(i>0){ //将光标移动到结果集前端
rs.beforeFirst(); //循环遍历所有行数
while(rs.next()){ //遍历每行元素的内容
String name=rs.getString("name");
String password=rs.getString("password"); //在控制台打印出结果
System.out.println("name:"+name+" password:"+password); } }else{ System.out.println("结果集为空!"); } } catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }else{ System.out.println("结果集不存在!"); } //关闭链接
mysqlCon.getClose(); } }

 *-------------------------------------------*
By:暮雪超霸博客:http://www.cnblogs.com/chaoba/
 *-------------------------------------------*

mysql数据库的连接以及增删改查Java代码实现(转载)的更多相关文章

  1. 使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理

    一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的 ...

  2. MySQL数据库之表的增删改查

    目录 MySQL数据库之表的增删改查 1 引言 2 创建表 3 删除表 4 修改表 5 查看表 6 复制表 MySQL数据库之表的增删改查 1 引言 1.MySQL数据库中,数据库database就是 ...

  3. 在python中连接mysql数据库,并进行增删改查

    数据库在开发过程中是最常见的,基本上在服务端的编程过程中都会使用到,mysql是较常见的一种数据库,这里介绍python如果连接到数据库中,并对数据库进行增删改查. 安装mysql的python扩展 ...

  4. python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作

    1.通过 pip 安装 pymysql 进入 cmd  输入  pip install pymysql   回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import ...

  5. Java连接MySQL数据库,并进行增删改查

    1.具体的代码实现 import java.sql.*; public class DatabaseService { /** * Create Connection * * @param dbtyp ...

  6. Mysql数据库和表的增删改查以及数据备份&恢复

    数据库 查看所有数据库 show databases; 使用数据库 use 数据库名; 查看当前使用的数据库 select database(); 创建数据库 create database 数据库名 ...

  7. Python操作MySQL数据库完成简易的增删改查功能

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 目录 一丶项目介绍 二丶效果展示 三丶数据准备 四丶代码实现 五丶完整代码 一丶项目介绍 1.叙述 博主闲暇之余花了10个小时写的 ...

  8. MySQL数据库 | 数据表的增删改查

    MySQL数据的增删改查(crud) 本文结构 一.增加 create 二.修改 update 三.查询 retrieve(简单查询,下篇详细展开) 四.删除 delete 首先,创建简单的class ...

  9. 关于利用PHP访问MySql数据库的逻辑操作以及增删改查实例操作

    PHP访问MySql数据库 <?php //造连接对象$db = new MySQLi("localhost","root","",& ...

随机推荐

  1. MongoDB 分片集群配置

    本文测试环境为 CentOS 7 和 MongoDB 最新版 (4.0.12) 使用 root 操作 (实际操作中使用非 root 账户启动报错) 零.服务器分配 服务器 102 服务器 103 服务 ...

  2. requests请求高德地图api

    高德地图通过GET方式发送url请求数据.url里需要包含开发者key以及一些请求的具体参数.(详情可见高德官网)高德返回的数据默认为JSON格式,方便处理. 顺带来回忆一下requests模块的一些 ...

  3. moviepy音视频剪辑:与time时间线相关的变换函数freeze_region、make_loopable、speedx、time_mirror、time_symmetrize介绍

    ☞ ░ 前往老猿Python博文目录 ░ 一.引言 在<moviepy音视频剪辑:moviepy中的剪辑基类Clip详解>介绍了剪辑基类的fl.fl_time.fx方法,在<movi ...

  4. moviepy音视频剪辑:TextClip.list(font)和search搜索字体报错UnicodeDecodeError:utf-8 codec cannott decode byte 问题

    ☞ ░ 前往老猿Python博文目录 ░ 在moviepy2.0.0.Dev版本中,执行如下语句: from moviepy.editor import * TextClip.search('gb', ...

  5. PyQt(Python+Qt)学习随笔:Designer中不能编辑信号和槽的问题

    新建了一个窗口部件,在窗口上添加了相关布局,再设置窗口窗口的布局为垂直布局,窗口设计好界面后如图所示: 可以看到窗口是QWidget类,窗口上从上到下有三个布局,窗口自身的布局为垂直布局,布局名为ve ...

  6. C语言网络编程(Linux && Windows)(1)

    和朋友一起做课程设计,同时学习C语言的网络编程,以前写的都是python网络编程,但python很多的库都是封装好的,大部分人在使用的时候不会去了解底层的实现,这样对长远的学习不太好,也改正自己这方面 ...

  7. Day7 Scrum 冲刺博客

    一.站立式会议1. 会议照片 2. 工作进度+燃尽图 团队成员 昨日完成工作 今日工作计划 遇到的困难  周梓波  添加键盘监听事件 由于游戏中计分规则不合理,进行重新设计  无  纪昂学  添加方块 ...

  8. 移动端点击300ms延迟问题

    移动端点击延迟事件 1. 移动端浏览器在派发点击事件的时候,通常会出现300ms左右的延迟 2. 原因: 移动端的双击会缩放导致click判断延迟 解决方式 1. 禁用缩放 `<meta nam ...

  9. P5327 [ZJOI2019]语言

    一边写草稿一边做题吧.要看题解的往下翻,或者是旁边的导航跳一下. 草稿 因为可以开展贸易活动的条件是存在一种通用语 \(L\) 满足 \(u_i\) 到 \(v_i\) 的最短路径上都会 \(L\) ...

  10. 高速缓冲存储器Cache

    目录 概述 问题的提出 局部性原理 命中与未命中 Cache的命中率 Cache-主存系统的效率 例题 工作原理 地址映射方式(本节最重要) 直接映射 全相联映射 组相联映射 例子 替换策略 例题 写 ...