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. 学习笔记:Vue+Node+Mongodb 构建简单商城系统(二)

    前面几个月工作有点忙,导致构建简单商城系统的计划搁置近三个月.现在终于有时间重新回过头来继续本计划.本篇主要记录自己在阿里云服务器上搭建node运行环境的整个过程,以及对其中遇到的一些问题的思考. 一 ...

  2. 【VBA】制作散点图及打标签VBA

    1.散点图的制作必须只选择xy轴对应的数据,不能选中标签. 2.调整xy轴交叉点,改为四个象限. 3.通过菜单移动散点图到新表. 4.运行宏,打上文本标签. VBA如下 Sub AttachLabel ...

  3. Python_selenium之获取页面上的全部邮箱

    Python_selenium之获取页面上的全部邮箱 一.思路拆分 获取网页(这里以百度的“联系我们”为例),网址http://home.baidu.com/contact.html 获取页面的全部内 ...

  4. Docker入门与应用系列(九)图形界面管理之Portainer

    介绍 Portainer是一个开源.轻量级Docker管理用户界面,基于Docker API,可管理Docker主机或Swarm集群,支持最新版Docker和Swarm模式.官方文档https://p ...

  5. java.lang.NoSuchMethodException: &lt;init&gt; [class android.content.Context, interface androidutil.Attri

    <pre name="code" class="java"><span style="font-size:24px;"&g ...

  6. 我如何让echarts实现了分组(原创插件echarts.group代码分享)

    前言 echarts是百度出品的一款很棒的前端图表控件,被评为“百度少有的良心产品”.可以实现散点图.折线图.柱状图.地图.饼图.雷达图.K线图等等几十种常用.不常用的图表,效果酷炫. 示例地址:ht ...

  7. 一起学 Java集合框架、数据结构、泛型

    一.Java 集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个 ...

  8. json字符串和json对象的转换

    http://www.json.org/提供了一个json2.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法: parse用于从一个 ...

  9. HDU 1875 畅通工程再续(kruskal)

    畅通工程再续 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  10. 网站漏洞扫描工具(appscan,mdcsoft-ips)

    网站漏洞扫描工具:主要应用网站漏洞扫描工具,其原理是通过工具通过对网站的代码阅读,发现其可被利用的漏洞进行告示,通过前人收集的漏洞编成数据库,根据其扫描对比做出. 具体网站扫描工具有:appscan, ...