jdbc里一个最靠谱的连接demo
最靠谱的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的更多相关文章
- JDBC:SqlServer连接TCP/IP连接失败,到主机 的 TCP/IP 连接失败。报错信息:com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。
作者QQ:1161493927,欢迎互相交流学习. 报错信息:com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败. j ...
- 一个人也可以建立 TCP 连接呢
今天(恰巧是今天)看到有人在 SegmentFault 上问「TCP server 为什么一个端口可以建立多个连接?」.提问者认为 client 端就不能使用相同的本地端口了.理论上来说,确定一条链路 ...
- Java操作数据库——在JDBC里使用事务
Java操作数据库——在JDBC里使用事务 摘要:本文主要学习了如何在JDBC里使用事务. 使用Connection的事务控制方法 当JDBC程序向数据库获得一个Connection对象时,默认情况下 ...
- artTemplate里一个比不上jQuery tmpl模板的地方就是放一个数组进去它不会自动循环.
artTemplate里一个比不上jQuery tmpl模板的地方就是放一个数组进去它不会自动循环.
- com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect
问题描述:最简单的数据库连接报错,到主机 的 TCP/IP 连接失败.(win 7 操作系统) 错误信息: com.microsoft.sqlserver.jdbc.SQLServerExcep ...
- APACHE如何里一个站点绑定多个域名?用ServerAlias
APACHE2如何里一个站点绑定多个域名?用ServerAlias以前很笨,要使多个域名指向同一站点总是这样写: <VirtualHost *:80>ServerAdmin i@kuigg ...
- 对 JDBC 做一个轻量封装,待完善。。。
对 JDBC 做一个轻量地封装,顺便复习,熟悉sql,io,util,lang.Reflect等包的使用,泛型的使用,待完善... package com.webproj.utils; import ...
- 基于MNIST数据集使用TensorFlow训练一个包含一个隐含层的全连接神经网络
包含一个隐含层的全连接神经网络结构如下: 包含一个隐含层的神经网络结构图 以MNIST数据集为例,以上结构的神经网络训练如下: #coding=utf-8 from tensorflow.exampl ...
- APACHE如何里一个站点绑定多个域名?用ServerAlias servername
APACHE2如何里一个站点绑定多个域名?用ServerAlias以前很笨,要使多个域名指向同一站点总是这样写: <VirtualHost *:80>ServerAdmin i@kuigg ...
随机推荐
- Opencv笔记(一):图像的基本操作
1.图像的读.显示和保存操作 import cv2 img = cv2.imread('filename',0); cv2.imshow('name',img); k=cv2.waitKey(0); ...
- 搜刮一些开源项目的APP
iOS完整App资源收集 <iOS完整app资源收集> <GitHub 上有哪些完整的 iOS-App 源码值得参考?> <GitHub 上有哪些完整的 iOS-App ...
- springboot 整合thymeleaf 书笔记
pom.xml依赖添加 <!--引入thymeleaf--> <dependency> <groupId>org.springframework.boot</ ...
- 数据结构与算法——认识O(NlogN)的排序(2)
输入整型数组和排序标识,对其元素按照升序或降序进行排序 (一组测试用例可能会有多组数据) 接口说明 原型: void sortIntegerArray(Integer[] pIntegerArray, ...
- zcat|subprocess.check_all|subprocess.Popen|gzip|readline()
#!/usr/bin/python from subprocess import check_call import subprocess import gzip ''' $ zcat 160121_ ...
- linux 有了源码创建git版本库(coding)
进入目录,比如ewei_shop 执行 git init 瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),当前目录下多了一个.git的目录,如果没有看到 ...
- 《C Prime Plus》第九节笔记
第九节 函数 9.1 复习函数 函数原型 function prototype 函数调用 function call 函数定义 function definition 形参 实参 典型的ANSI C函 ...
- 荼菜的iOS笔记--UIView的几个Block动画
前言:我的第一篇文章荼菜的iOS笔记–Core Animation 核心动画算是比较详细讲了核心动画的用法,但是如你上篇看到的,有时我们只是想实现一些很小的动画,这时再用coreAnimation就会 ...
- [LC] 392. Is Subsequence
Given a string s and a string t, check if s is subsequence of t. You may assume that there is only l ...
- C++中字符串的表示与转换
转换总结 1.char*转string:可以直接赋值. 2.char[]转string:可以直接赋值. 3.char*转char[]:不能直接赋值,可以循环char*字符串逐个字符赋值,也可以使用st ...