jdbc封装代码
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封装代码的更多相关文章
- 优化JDBC封装
可重用性较强的JDBC封装 以下为代码,注释中写了主要思想 主类 com.util.JDBCUtil.java package com.util; import java.lang.reflect.F ...
- 七、Block 封装代码
1.概念:封装代码块,调用的时候使用 2.声明 返回类型(^名字)(参数1,参数2..) = (参数类型 变量1,参数类型, 变量2){ }; int (^Sum)(int,int) = ^(int ...
- [Effective JavaScript 笔记]第27条:使用闭包而不是字符串来封装代码
函数是一种将代码作为数据结构存储的便利方式,代码之后可以被执行.这使得富有表现力的高阶函数抽象如map和forEach成为可能.它也是js异步I/O方法的核心.与此同时,也可以将代码表示为字符串的形式 ...
- python解析xml模块封装代码
在python中解析xml文件的模块用法,以及对模块封装的方法.原文转自:http://www.jbxue.com/article/16586.html 有如下的xml文件:<?xml vers ...
- python网页请求urllib2模块简单封装代码
这篇文章主要分享一个python网页请求模块urllib2模块的简单封装代码. 原文转自:http://www.jbxue.com/article/16585.html 对python网页请求模块ur ...
- <<海闻电子发票接口 ESB 封装 代码指示 文档>>
<<海闻电子发票接口 ESB 封装 代码指示 文档>> isValid 是否有效标志 代码 中文 说明 true 成功 false 失败 code 海闻错误说明 代码 中文 ...
- Ajax--json(Ajax调用返回json封装代码、格式及注意事项)
Ajax调用json封装代码<dbda.php>: //Ajax调用返回JSON public function JsonQuery($sql,$type=1,$db="mydb ...
- 完整java开发中JDBC连接数据库代码和步骤[申明:来源于网络]
完整java开发中JDBC连接数据库代码和步骤[申明:来源于网络] 地址:http://blog.csdn.net/qq_35101189/article/details/53729720?ref=m ...
- Uiautomator ---(1) 封装代码
http://www.cnblogs.com/by-dream/p/4996000.html 上面是别人的写法 我自己的写法: package qq.test; import android.con ...
随机推荐
- android发送邮件
众所周知,在Android中调用其他程序进行相关处理,几乎都是使用的Intent,所以,Email也不例外. 在Android中,调用Email有三种类型的Intent: Intent.ACT ...
- IntelliJ IDEA2017 java连接mysql数据库并查询数据
最近自己开始重新学习java基础了,做java开发不可避免要处理数据库,由于好久不写java了,对idea也有点陌生了.所以这里写篇用jdbc来连接mysql的文章 至于mysql怎么装,请自行百度 ...
- linux机器之间配置ssh无密访问
首先确认已安装了ssh服务,没装的自行百度一下. A机器:192.168.1.1 B机器:192.168.1.2 使A无密访问B,步骤如下[root@localhost ~]# cd .ssh 如果没 ...
- call to unavailable function system not available on ios 解决方案
编译时报错:call to unavailable function system not available on iOS 原因:iOS11已经将system删除 解决方案:system(comma ...
- Java每日一题
1.(单选题)What will be printed when you execute the following code? class C { C() { System.out.print(&q ...
- Minecraft Forge编程入门二 “工艺和食谱”
从现在开始我们就要开始真正写代码了,还没有来得及配置环境的同学可以参考Minecraft Forge编程入门一 "环境搭建"这篇文章来进行环境搭建. 工艺(Craft)和食谱(Re ...
- react 坑总结
1.react可以在里面直接更改state的变量 例如: 2.react 数组循环
- Xenu Link Sleuth
Xenu Link Sleuth 是一款检查网站死链接的软件,可以通过它打开一个本地的网页文件来检查它的链接,也可以输入任何网址来检查. 具体使用如下: 1,下载,并安装. 2,打开软件,出现 Tip ...
- 使用node,express,mongodb,ionic,ejs搭建的简单app个人总结
1.每次修改app.js或者其他路由js文件,都必须重启node app.js,否则修改不起作用!!! 2.<link rel="stylesheet" href=" ...
- php 正则表达式三.模式修正
1.贪婪模式和懒惰模式, 贪婪模式:php中正则默认是贪婪模式,匹配尽可能多 的字符,比如 $pattern='/a+b/'; $subject='aaaaaaaaab,那么可能会preg_match ...