jdbc封装代码


package jdbcUtil; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List; import jdbc.RowMap; public class JdbcUtil {
public static Connection getConnection(){
Connection connection=null;
//加载驱动
try {
Class.forName("com.mysql.jdbc.Driver");
//2创建连接(主机名,端口号,用户名,密码)
connection= DriverManager.getConnection("jdbc:mysql://localhost:3306/student", "root", "123456");
}
catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return connection; } public static void close(Connection connection){
try {
if(connection!=null){
connection.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public static int executeUpdate(String sql,Object... params){
int result=0;
Connection connection=getConnection();
PreparedStatement pstmt;
try {
pstmt = connection.prepareStatement(sql);
if(params!=null){
for(int i=0;i<params.length;i++){
pstmt.setObject(i+1, params[i]);
}
result=pstmt.executeUpdate();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
close(connection);
}
return result;
} public static <T>List<T> executeSelect(String sql,RowMap<T> rowMap,Object...params){
List<T> result=new ArrayList<>();
Connection connection=getConnection();
try {
PreparedStatement pstmt=connection.prepareStatement(sql);
if(params!=null){
for(int i=0;i<params.length;i++){
pstmt.setObject(i+1, params[i]);
}
}
ResultSet rs=pstmt.executeQuery();
while(rs.next()){
//将数据行 映射到对象中
T t=rowMap.rowMapping(rs);
result.add(t);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
close(connection);
}
return result;
} }

JdbcUtil.java


package jdbcUtil; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List; import jdbc.RowMap; public class JdbcUtil {
public static Connection getConnection(){
Connection connection=null;
//加载驱动
try {
Class.forName("com.mysql.jdbc.Driver");
//2创建连接(主机名,端口号,用户名,密码)
connection= DriverManager.getConnection("jdbc:mysql://localhost:3306/student", "root", "123456");
}
catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return connection; } public static void close(Connection connection){
try {
if(connection!=null){
connection.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public static int executeUpdate(String sql,Object... params){
int result=0;
Connection connection=getConnection();
PreparedStatement pstmt;
try {
pstmt = connection.prepareStatement(sql);
if(params!=null){
for(int i=0;i<params.length;i++){
pstmt.setObject(i+1, params[i]);
}
result=pstmt.executeUpdate();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
close(connection);
}
return result;
} public static <T>List<T> executeSelect(String sql,RowMap<T> rowMap,Object...params){
List<T> result=new ArrayList<>();
Connection connection=getConnection();
try {
PreparedStatement pstmt=connection.prepareStatement(sql);
if(params!=null){
for(int i=0;i<params.length;i++){
pstmt.setObject(i+1, params[i]);
}
}
ResultSet rs=pstmt.executeQuery();
while(rs.next()){
//将数据行 映射到对象中
T t=rowMap.rowMapping(rs);
result.add(t);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
close(connection);
}
return result;
} }

jdbcBean.java


package jdbc; import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
import java.util.Scanner;import jdbcUtil.JdbcUtil;class jdbcBean {
public static void main(String[] args) {
List<Student> list=select();
System.out.println(list);
/*jdbcBean jdbcBean=new jdbcBean();
jdbcBean.tset();*/
/*delete();*/
/*add();*/
} public static int delete(){
return JdbcUtil.executeUpdate("delete from student where sid=? and sname=?", 10,"¹þÊ¿Ææ"); } public static int update(){
return JdbcUtil.executeUpdate("update student set sname=?,age=?,sex=? where sid=?","mojie",2,"ÐÛ",1); } public static int add(){
return JdbcUtil.executeUpdate("insert into student(sname,age,sex) values(?,?,?)", "ÍÛ¹þ",3,"ÐÛ"); }
public static List select(){ return jdbcUtil.JdbcUtil.executeSelect("select * from student",new RowMap<Student>(){
@Override
public Student rowMapping(ResultSet rs){
Student student=new Student();
try {
student.setAge(rs.getInt("age"));
student.setName(rs.getString("sname"));
student.setSex(rs.getString("sex"));
student.setSid(rs.getInt("sid"));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return student;
}
}, null);
/*Connection connection=JdbcUtil.getConnection();
List<Student> list=new ArrayList<>();
try {
PreparedStatement pstmt=connection.prepareStatement("select * from student");
ResultSet rs= pstmt.executeQuery();
while (rs.next()) {
Student student=new Student();
student.setAge(rs.getInt("age"));
student.setName(rs.getString("sname"));
student.setSex(rs.getString("sex"));
student.setSid(rs.getInt("sid"));
list.add(student); }
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
JdbcUtil.close(connection);
}
return list;*/
}
public void tset(){
HashMap<String,Student> sHashMap=new HashMap<>();
for(int i=0;i<4;i++){
System.out.println("qingshuru");
Scanner scanner=new Scanner(System.in);
Integer sid=scanner.nextInt();
String sname=scanner.next();
Integer age=scanner.nextInt();
String sex=scanner.next();
Student student=new Student(sname, age, sid, sex);
sHashMap.put("Student"+i, student);
}
for(int i=0;i<4;i++){
System.out.println(sHashMap.get("Student"+i));
} }
}

RowMap.java


package jdbc; import java.sql.ResultSet; public interface RowMap<T> {
public T rowMapping(ResultSet rs);
}

Student.java


package jdbc; public class Student {
private String name;
private int age;
private int sid;
private String sex;
public String getName() {
return name;
}
public Student(String name, int age, int sid, String sex) {
super();
this.name = name;
this.age = age;
this.sid = sid;
this.sex = sex;
}
public int getSid() {
return sid;
}
public void setSid(int sid) {
this.sid = sid;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + ", sex=" + sex + "]";
}
public Student(String name, int age, String sex) {
super();
this.name = name;
this.age = age;
this.sex = sex;
}
public Student() {
super();
// TODO Auto-generated constructor stub
} }

jdbc封装代码的更多相关文章

  1. 优化JDBC封装

    可重用性较强的JDBC封装 以下为代码,注释中写了主要思想 主类 com.util.JDBCUtil.java package com.util; import java.lang.reflect.F ...

  2. 七、Block 封装代码

    1.概念:封装代码块,调用的时候使用 2.声明 返回类型(^名字)(参数1,参数2..) = (参数类型 变量1,参数类型, 变量2){ }; int (^Sum)(int,int)  = ^(int ...

  3. [Effective JavaScript 笔记]第27条:使用闭包而不是字符串来封装代码

    函数是一种将代码作为数据结构存储的便利方式,代码之后可以被执行.这使得富有表现力的高阶函数抽象如map和forEach成为可能.它也是js异步I/O方法的核心.与此同时,也可以将代码表示为字符串的形式 ...

  4. python解析xml模块封装代码

    在python中解析xml文件的模块用法,以及对模块封装的方法.原文转自:http://www.jbxue.com/article/16586.html 有如下的xml文件:<?xml vers ...

  5. python网页请求urllib2模块简单封装代码

    这篇文章主要分享一个python网页请求模块urllib2模块的简单封装代码. 原文转自:http://www.jbxue.com/article/16585.html 对python网页请求模块ur ...

  6. <<海闻电子发票接口 ESB 封装 代码指示 文档>>

    <<海闻电子发票接口 ESB 封装 代码指示 文档>> isValid 是否有效标志 代码 中文 说明 true 成功 false 失败   code 海闻错误说明 代码 中文 ...

  7. Ajax--json(Ajax调用返回json封装代码、格式及注意事项)

    Ajax调用json封装代码<dbda.php>: //Ajax调用返回JSON public function JsonQuery($sql,$type=1,$db="mydb ...

  8. 完整java开发中JDBC连接数据库代码和步骤[申明:来源于网络]

    完整java开发中JDBC连接数据库代码和步骤[申明:来源于网络] 地址:http://blog.csdn.net/qq_35101189/article/details/53729720?ref=m ...

  9. Uiautomator ---(1) 封装代码

    http://www.cnblogs.com/by-dream/p/4996000.html  上面是别人的写法 我自己的写法: package qq.test; import android.con ...

随机推荐

  1. jquery取iframe中元素

    采取方法: $("#iframe_path").contents().find(".select_path_hide").val(); DOM方法:父窗口操作I ...

  2. Redis "MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk"问题

    今天在程序中,jedis put数据到redis过程中,“MISCONF Redis is configured to save RDB snapshots, but is currently not ...

  3. 好久没写blog了 ~ 换了个城市,换了个公司,各种忙碌

    最近一直在忙工作交接以及换城市.入职的事情 ~~~ 新公司做C++的比较少,so全上C++11了,写代码各种爽. 最近应该会写一点关于QT的blog , 学到新知识了哈.

  4. php数据库操作命令精华大全

    1.表结构//列信息2.表数据//行信息3.表索引//把列中的行加到索引中(一般情况下一个表一定要把id这一列的所有数据都加到主键索引中) 2.[dos下]关闭mysql:net stop mysql ...

  5. iOS开发之 -- 判断tableview/scrollview的滑动方法,及导航栏渐变的实现代码

    开发的过程中,肯定会用到在视图想上滑动的时候,在导航处做一些操作,比如向上滑动的时候,做个动画,出现一个搜索框,或者其他的操作,那么我们怎么来判断它的滑动方向呢? 首先我们应该知道tableview继 ...

  6. Java Something

    Java静态代码检查工具 FindBugs FindBugs is a defect detection tool for Java that uses static analysis to look ...

  7. 【BZOJ3714】[PA2014]Kuglarz 最小生成树

    [BZOJ3714][PA2014]Kuglarz Description 魔术师的桌子上有n个杯子排成一行,编号为1,2,…,n,其中某些杯子底下藏有一个小球,如果你准确地猜出是哪些杯子,你就可以获 ...

  8. 学习使用turtlebot2——ROS上安装turtlebot2

    安装环境: 安装Ubuntu 14.04版本和ROS Indigo 参考:http://wiki.ros.org/turtlebot/Tutorials 安装步骤     有两种安装方法,一种直接的安 ...

  9. Vsftpd匿名登录设置

    修改配置文件 # vi /etc/vsftpd/vsftpd.conf local_enable=NO connect_from_port_20=YES listen=YES listen_port= ...

  10. ETCD数据空间压缩清理

    场景:做etcd数据镜像的时候出现如下错误  Error: etcdserver: mvcc: database space exceeded 通过查找官方文档https://coreos.com/e ...