最靠谱的jdbc连接例子

包括增删改,查一条数据,查所有数据。

Bean.java

public class Bean {
private String id;
private String number;
private String name;
private String score;

public String getNumber() {
return number;
}

public void setNumber(String number) {
this.number = number;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

 

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getScore() {
return score;
}

public void setScore(String score) {
this.score = score;
}

@Override
public String toString() {
return "Bean [id=" + id + ", number=" + number + ", name=" + name
+ ", score=" + score + "]";
}

}

JdbcUtils.java

import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.ResultSet;
import com.mysql.jdbc.Statement;

public class JdbcUtils {

private static String url="jdbc:mysql://127.0.0.1:3306/data1702?characterEncoding=UTF-8";
private static String user="root";
private static String password="123456";
//加载驱动(只加载一次)
static{
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//获得连接(静态方法独立于对象)
public static Connection getConnect() throws SQLException{
java.sql.Connection c =DriverManager.getConnection(url,user,password);
return (Connection) c;
}
//释放连接
public static void release(Statement stmt,Connection conn){
try {
stmt.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void release(ResultSet rs,PreparedStatement pstmt,Connection conn){
try {
rs.close();
pstmt.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

BeanDao.java

import java.sql.*;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import com.mysql.jdbc.*;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;

public class BeanDao {
// 增加一个学生
public boolean insert(String id, String number, String name, String score)
throws SQLException {
Bean b = new Bean();
int flag = 0;
Connection con = JdbcUtils.getConnect();
String sql = "insert into user (id,number,name,score) values (?, ?, ?, ?)";
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setString(1, id);
pstmt.setString(2, number);
pstmt.setString(3, name);
pstmt.setString(4, score);
try {
flag = pstmt.executeUpdate();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
JdbcUtils.release((Statement) pstmt, con);
}
if (flag != 0) {
return true;
} else
return false;

}
//删除一条记录
public boolean delete(String id) throws SQLException{
int flag = 0;
Bean b=new Bean();
Connection con = JdbcUtils.getConnect();
String sql="delete from user where id=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, id);
try {
flag=pstmt.executeUpdate();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
JdbcUtils.release((Statement) pstmt, con);
}
if(flag!=0)
return true;
else
return false;

}
//修改分数
public boolean update(String id,String score) throws SQLException{
int flag = 0;
Bean b=new Bean();
Connection con = JdbcUtils.getConnect();
String sql="update user set score = ? where id = ?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, score);
pstmt.setString(2, id);
try {
flag=pstmt.executeUpdate();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
JdbcUtils.release((Statement) pstmt, con);
}
if(flag!=0)
return true;
else
return false;
}
//查看一条数据
public Bean select(String id) throws SQLException{
ResultSet rs=null;
Bean b=new Bean();
Connection con = JdbcUtils.getConnect();
String sql="select * from user where id = ?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, id);
try {
rs=pstmt.executeQuery();
if(rs.next()){
b.setId(rs.getString("id"));
b.setNumber(rs.getString("number"));
b.setName(rs.getString("name"));
b.setScore(rs.getString("score"));
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
JdbcUtils.release((com.mysql.jdbc.ResultSet) rs, pstmt, con);
}
return b;
}
public List<Bean> selectAll() throws SQLException{
ResultSet rs=null;
Bean b;
List<Bean> list = new ArrayList<Bean>();
Connection con = JdbcUtils.getConnect();
String sql="select * from user";
PreparedStatement pstmt=con.prepareStatement(sql);
try {
rs=pstmt.executeQuery();
while(rs.next()){
b=new Bean();
b.setId(rs.getString("id"));
b.setNumber(rs.getString("number"));
b.setName(rs.getString("name"));
b.setScore(rs.getString("score"));
list.add(b);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
JdbcUtils.release((com.mysql.jdbc.ResultSet) rs, pstmt, con);
}
return list;
}

}

TestJDBC.java

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;
import java.util.Scanner;
public class TestJDBC {
public static void main(String[] args) throws SQLException {
Bean b=new Bean();
/*
测试插入
b.setId("101");
b.setNumber("1700130221");
b.setName("wangpeng");
b.setScore("100");
BeanDao bdao=new BeanDao();
boolean flag=bdao.insert(b.getId(),b.getNumber(),b.getName(),b.getScore());
System.out.println(flag);*/
/*
测试删除
b.setId("101");
BeanDao bdao=new BeanDao();
boolean flag=bdao.delete(b.getId());
System.out.println(flag);
*/

//测试修改分数
/*b.setId("100");
b.setScore("0");
BeanDao bdao=new BeanDao();
boolean flag=bdao.update(b.getId(), b.getScore());
System.out.println(flag);
*/

//查看数据库的一条数据
/*b.setId("100");
BeanDao bdao=new BeanDao();
b=bdao.select(b.getId());
System.out.println(b.getId()+" | "+b.getNumber()+" | "+b.getName()+" | "+b.getScore());*/

//查看数据库所有信息
/*BeanDao bdao=new BeanDao();
List<Bean> list=bdao.selectAll();
for(Bean x:list){
System.out.println(x);
}
*/

}
}

jdbc里一个最靠谱的连接demo的更多相关文章

  1. JDBC:SqlServer连接TCP/IP连接失败,到主机 的 TCP/IP 连接失败。报错信息:com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。

    作者QQ:1161493927,欢迎互相交流学习. 报错信息:com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败. j ...

  2. 一个人也可以建立 TCP 连接呢

    今天(恰巧是今天)看到有人在 SegmentFault 上问「TCP server 为什么一个端口可以建立多个连接?」.提问者认为 client 端就不能使用相同的本地端口了.理论上来说,确定一条链路 ...

  3. Java操作数据库——在JDBC里使用事务

    Java操作数据库——在JDBC里使用事务 摘要:本文主要学习了如何在JDBC里使用事务. 使用Connection的事务控制方法 当JDBC程序向数据库获得一个Connection对象时,默认情况下 ...

  4. artTemplate里一个比不上jQuery tmpl模板的地方就是放一个数组进去它不会自动循环.

    artTemplate里一个比不上jQuery tmpl模板的地方就是放一个数组进去它不会自动循环.

  5. com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect

      问题描述:最简单的数据库连接报错,到主机  的 TCP/IP 连接失败.(win 7 操作系统) 错误信息: com.microsoft.sqlserver.jdbc.SQLServerExcep ...

  6. APACHE如何里一个站点绑定多个域名?用ServerAlias

    APACHE2如何里一个站点绑定多个域名?用ServerAlias以前很笨,要使多个域名指向同一站点总是这样写: <VirtualHost *:80>ServerAdmin i@kuigg ...

  7. 对 JDBC 做一个轻量封装,待完善。。。

    对 JDBC 做一个轻量地封装,顺便复习,熟悉sql,io,util,lang.Reflect等包的使用,泛型的使用,待完善... package com.webproj.utils; import ...

  8. 基于MNIST数据集使用TensorFlow训练一个包含一个隐含层的全连接神经网络

    包含一个隐含层的全连接神经网络结构如下: 包含一个隐含层的神经网络结构图 以MNIST数据集为例,以上结构的神经网络训练如下: #coding=utf-8 from tensorflow.exampl ...

  9. APACHE如何里一个站点绑定多个域名?用ServerAlias servername

    APACHE2如何里一个站点绑定多个域名?用ServerAlias以前很笨,要使多个域名指向同一站点总是这样写: <VirtualHost *:80>ServerAdmin i@kuigg ...

随机推荐

  1. 关于前端CSS的总结

    CSS语法 CSS语言的基本单位是样式声明:propertyName : value ; CSS语言的使用方式: 1.把CSS样式声明作为HTML标签的style属性值.2.使用CSS选择器 CSS常 ...

  2. iTOP-4412开发板qt4文件的移植和修改

    在 7.4 小节介绍配置文件的时候,提到迅为制作的触摸库文件“/usr/local/tslib”,迅为 已经将触摸功能编译到 Qt/E4.7.1 的库文件中,开发板可以支持触摸和鼠标功能. 用户在前面 ...

  3. 八、linux-mysql的mysql主从复制原理和实战

    1.mysql主从复制介绍 mysql支持单向.双向.链式级联.实时.异步复制,在复制过程中,一台服务器充当主服务器(Master),而一个或多个其它服务器充当从服务器(Slave). 复制:单向同步 ...

  4. 2019-2020-1 20199324《Linux内核原理与分析》第七周作业

    第六章 进程的描述和进程的创建 知识点总结 进程的描述 操作系统内核实现操作系统的三大管理功能以及对应的抽象概念: 进程管理(最核心)-- 进程 内存管理 -- 虚拟内存 文件系统 -- 文件 进程是 ...

  5. scala编程(五)——基本类型和操作

    文本 文本是直接在代码里写常量值的一种方式以.在Scala中并不显式的使用Int或float,而是以文本的方式写成 val 变量. 如果整数文本结束于 L 或者 l,就是 Long 类型,否则就是 I ...

  6. 调用其他VBA工程中的过程和函数以及API函数

    Excel VBA中,同一个应用程序下面包括多个工作簿,每个工作簿都有自己独立的VBAProject 在同一个VBA工程中,使用Call即可调用其他模块中的过程和函数,例如: Call Module2 ...

  7. pycharm2018后版本执行Flask app.run()深坑

    在2018年以前的版本,以上配置在app.run()里面的内置方法

  8. MySQL的详细操作

    MySQL的详细操作 存储引擎 不同的数据应该有不同的处理机制 mysql存储引擎 Innodb:默认的存储引擎 查询速度较myisam慢 但是更安全,支持事务,行锁,外键由于以上的支持,数据更安全, ...

  9. android仿今日头条App、多种漂亮加载效果、选择器汇总、记事本App、Kotlin开发等源码

    Android精选源码 android漂亮的加载效果 android各种 选择器 汇总源码 Android仿bilibili搜索框效果 Android记事本app.分类,涂鸦.添加图片或者其他附件 仿 ...

  10. mysql中in和exist的区别

    mysql中in和exists的区别 -- in写法select * from A where A.id in (select bid from  B ) and A.name in (select ...