java的jdbc简单封装
在学了jdbc一段时间后感觉自己写一个简单的封装来试试,于是參考的一些资料就写了一下不是多好,毕竟刚学也不太久
首先写配置文件:直接在src下建立一个db.properties文件然后写上内容
<span style="font-size:18px;">MysqlDriver=com.mysql.jdbc.Driver
MysqlURL=jdbc\:mysql\://localhost\:3306/one
User=root
Pwd=123456
</span>
之后再写一个类代码例如以下
<span style="font-size:18px;">package cn.java.ad; import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
/**
* 本例是写了一个小的封装
* 对jdbc的封装练习
* @author hello
* @version jdk 1.8
*/
public class ReadMain {
static Properties pos=null;//设置静态的在载入类的时候仅仅须要一次
static{
pos=new Properties(); //建立Peoperties用来读取配置文件
try {//以下是用来读取配置文件的
pos.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties"));
} catch (IOException e) {
e.printStackTrace();
}
}
public static Connection getcon(){//建立Connection连接
try {
Class.forName(pos.getProperty("MysqlDriver"));//载入com.mysql.jdbc.Driver
}catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {//载入URL ,User,password
return DriverManager.getConnection(pos.getProperty("MysqlURL"),
pos.getProperty("User"),pos.getProperty("Pwd"));
} catch (SQLException e) { e.printStackTrace();
}
return null;
}
public static void Close(ResultSet rs,Statement st,Connection co){
try {//关闭数据库连接採用重载的方法便于封装
if(rs!=null)
rs.close();
if(st!=null)
st.close();
if(co!=null)
co.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void Close(ResultSet rs,Connection co){
try {//关闭ResultSet Connection
if(rs!=null)
rs.close();
if(co!=null)
co.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void Close(Connection co){
try { //关闭Connection
if(co!=null)
co.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
//程序结束</span>
之后写主类代码例如以下
<span style="font-size:18px;">package cn.java.ad;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public class Main { public static void main(String[] args) {
Connection con=null;
ResultSet res=null;
Statement sta=null;
String sql=null;
String name="李雷";
String sex="男";
PreparedStatement ps=null;
try {
con=ReadMain.getcon();
sql="insert into student(id,name,sex,phone)VALUES(1235,? ,?,15896324131)";
ps=con.prepareStatement(sql);//获取sql语句
//在这里 the first parameter is 1, the second is 2, ...
//x the parameter value
//能够看出下标是从1開始的
ps.setString(1, name);
//将相应的name插入数据表中
ps.setString(2, sex);
//将相应的sex插入数据表中
ps.execute();
//运行sql语句而且没有返回值
System.out.println("插入成功");
} catch (Exception e) {
e.printStackTrace();
}
finally{
ReadMain.Close(res, sta, con);
//依次关闭连接
} } }
</span>
以下是两张图是建立db.properties的步骤
java的jdbc简单封装的更多相关文章
- 利用jdbc简单封装一个小框架(类似DBUtils)
利用jdbc写的一个类似DBUtils的框架 package com.jdbc.orm.dbutils; import java.io.IOException; import java.io.Inpu ...
- java系列-JDBC的封装
参考:http://blog.csdn.net/liuhenghui5201/article/details/16369773 一. 1.加载驱动-->>封装 --->> ...
- DBUtils开源JDBC类库,对JDBC简单封装(作用是:简化编码工作量,同时不会影响程序的性能)
DBUtils:提高了程序的性能,编程更加简便 架包 mysql-connector-java-jar commons-dbcp-1.4jar commons-pool-1.5.5jar common ...
- DBUtils-对JDBC简单封装的开源工具类库
DBUtils 是对JDBC简单封装的开源工具类 详细介绍地址: https://baike.baidu.com/item/Dbutils/10655914?fr=aladdin 在使用DBUtil ...
- Spring jdbc 对象Mapper的简单封装
一般查询实体的时候,都需要这么使用/** * 根据id查询 * * @return */ public Emp queryEmpById(Intege ...
- Java通过JDBC进行简单的增删改查(以MySQL为例)
Java通过JDBC进行简单的增删改查(以MySQL为例) 目录: 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JD ...
- Java通过JDBC 进行Dao层的封装
前言 前面有一章节,我专门讲解了Java通过JDBC 进行MySQL数据库操作,这主要讲解了MySQL数据库的连接和简单的操作,但是在真正的Java项目中,我们要不断的和数据库打交道,为了提高数据库操 ...
- JDBC【2】-- JDBC工作原理以及简单封装
目录 1. 工作原理 1.1 加载驱动 1.1.1 类加载相关知识 1.1.2 为什么JDK 1.6之后不需要显示加载了? 1.2 驱动加载完成了,然后呢? 2. 简单封装 1. 工作原理 一般我们主 ...
- JAVA使用jdbc连接MYSQL简单示例
以下展示的为JAVA使用jdbc连接MYSQL简单示例: import java.sql.DriverManager; import java.sql.ResultSet; import java.s ...
随机推荐
- 删除在Godaddy注册的域名,申请退款的全过程
1,删除域名. 登录进 Godaddy ,进入域名管理(Domain Manager),点击你要删除的域名,把要删除的域名前面打上对勾,再点击“delete selected”,确认,稍等一会就删除了 ...
- 【WCF】HTTP 无法注册 URL 进程,不具有此命名空间的访问权限
背景 如题,在运行WCF宿主主机时,出现了问题. 捕获异常为:HTTP 无法注册 URL http://+:8000/WCF/.进程不具有此命名空间的访问权限(有关详细信息,请参见 http: ...
- UICamera(NGUI Event system)原理
看了UICamera的源码就显而易见了: UICamera « on: November 21, 2013, 12:21:48 AM » Overview UICamera is a somewh ...
- USACO humble
用set构造,优先队列和堆也能够 /* ID:kevin_s1 PROG:humble LANG:C++ */ #include <iostream> #include <cstdi ...
- 用L脚本语言实现"L脚本语言控制台"
下载Windows平台解释引擎 L脚本语言中能够将随意字符串当做一行L脚本语言程序来运行.通过循环接收用户输入,就是一个控制台IDE了 #scp #scp没有控制台IDE?我们自己用scp来实现一个 ...
- STL - 容器 - Map(二)
把Map用作关联式数组 MapAdvanceTest.cpp #include <map> #include <string> #include <iostream> ...
- strcpy sprintf memcpy 它们之间的区别
strcpy,sprintf,memcpy的区别 strcpy 函数操作的对象是 字符串,完成 从 源字符串 到 目的字符串 的 拷贝 功能. snprintf 函数操作的对象 不限于字符串:虽然目 ...
- uva 701 - The Archeologists' Dilemma
题目链接:uva 701 - The Archeologists' Dilemma 题目大意:给出x,求一个e,使得x * 10 ^ y ≤ 2 ^ e < (x + 1) * 10 ^ y. ...
- 设置Treeview背景色的问题1
有没有哪位兄弟在VB中使用sendmessage对TreeView改变背景色?我现在遇到一个问题,如果把linestyle设为1 的时候,展开节点的时候root部位会 有一个下拉的白色块,如果设为1 ...
- Java获取登录用户IP地址
/** * 获取登录用户IP地址 * * @param request * @return */ public static String getIpAddr(HttpServletRequest r ...