最靠谱的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. iOS 有关二维码

    一.把相应的URL生成二维码 利用有关图像变成的框架 #import <CoreImage/CoreImage.h> 步骤:实例化二维码滤镜---->恢复滤镜属性---->将字 ...

  2. P2448 无尽的生命(树状数组+离散化)

    题目描述 逝者如斯夫,不舍昼夜! 叶良辰认为,他的寿命是无限长的,而且每天都会进步. 叶良辰的生命的第一天,他有1点能力值.第二天,有2点.第n天,就有n点.也就是S[i]=i 但是调皮的小A使用时光 ...

  3. 系统学习Javaweb8----JavaScript4(结束)

    学习内容: 1.DOM对象 1.2DOM对象--元素对象常见属性 2.JS事件 2.1JS事件--入门案例 2.2JS事件--驱动机制 2.3常见JS事件--点击事件 2.4常见JS事件--点击事件 ...

  4. 关于k8s资源类型和缩写

    资源类型 缩写 描述 clusters     componentstatuses cs   configmaps cm   daemonsets ds   deployments deploy   ...

  5. python调用存储过程失败返回1787错误

    (1787, 'When @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1, the statements CREATE TEMPORARY TABLE and DROP T ...

  6. mysql查找json格式列的指定字段值

    SELECT json_extract(字段名,'$.json结构') FROM 表名;如果json里有双引号,那这样取出来的数据也带双引号,要去掉就使用REPLACE函数 例如t_submit_an ...

  7. 吴裕雄--天生自然 HADOOP大数据分布式处理:添加主机和服务器的域名映射

  8. [LC] 295. Find Median from Data Stream

    Median is the middle value in an ordered integer list. If the size of the list is even, there is no ...

  9. Java开发面试常见问题合集

    次面试事故 面试官:你看过哪些源码?我:都挺熟悉的面试官:对hashMap了解程度怎么样?面试官:那你能讲讲 HashMap的实现原理吗?面试官:HashMap什么时候会进行 rehash?面试官:结 ...

  10. Nginx笔记:支持对用户提交URL和服务的URL不一致时,保持对POST提交的支持

    用户访问的URL和服务的URL不一致,需要对URL修改,同时使用的是POST提交方式 location ~* ^/portalproxy/([-]*)/portal$ { #rewrite '^/po ...