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 ...
随机推荐
- 关于前端CSS的总结
CSS语法 CSS语言的基本单位是样式声明:propertyName : value ; CSS语言的使用方式: 1.把CSS样式声明作为HTML标签的style属性值.2.使用CSS选择器 CSS常 ...
- iTOP-4412开发板qt4文件的移植和修改
在 7.4 小节介绍配置文件的时候,提到迅为制作的触摸库文件“/usr/local/tslib”,迅为 已经将触摸功能编译到 Qt/E4.7.1 的库文件中,开发板可以支持触摸和鼠标功能. 用户在前面 ...
- 八、linux-mysql的mysql主从复制原理和实战
1.mysql主从复制介绍 mysql支持单向.双向.链式级联.实时.异步复制,在复制过程中,一台服务器充当主服务器(Master),而一个或多个其它服务器充当从服务器(Slave). 复制:单向同步 ...
- 2019-2020-1 20199324《Linux内核原理与分析》第七周作业
第六章 进程的描述和进程的创建 知识点总结 进程的描述 操作系统内核实现操作系统的三大管理功能以及对应的抽象概念: 进程管理(最核心)-- 进程 内存管理 -- 虚拟内存 文件系统 -- 文件 进程是 ...
- scala编程(五)——基本类型和操作
文本 文本是直接在代码里写常量值的一种方式以.在Scala中并不显式的使用Int或float,而是以文本的方式写成 val 变量. 如果整数文本结束于 L 或者 l,就是 Long 类型,否则就是 I ...
- 调用其他VBA工程中的过程和函数以及API函数
Excel VBA中,同一个应用程序下面包括多个工作簿,每个工作簿都有自己独立的VBAProject 在同一个VBA工程中,使用Call即可调用其他模块中的过程和函数,例如: Call Module2 ...
- pycharm2018后版本执行Flask app.run()深坑
在2018年以前的版本,以上配置在app.run()里面的内置方法
- MySQL的详细操作
MySQL的详细操作 存储引擎 不同的数据应该有不同的处理机制 mysql存储引擎 Innodb:默认的存储引擎 查询速度较myisam慢 但是更安全,支持事务,行锁,外键由于以上的支持,数据更安全, ...
- android仿今日头条App、多种漂亮加载效果、选择器汇总、记事本App、Kotlin开发等源码
Android精选源码 android漂亮的加载效果 android各种 选择器 汇总源码 Android仿bilibili搜索框效果 Android记事本app.分类,涂鸦.添加图片或者其他附件 仿 ...
- mysql中in和exist的区别
mysql中in和exists的区别 -- in写法select * from A where A.id in (select bid from B ) and A.name in (select ...