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 ...
随机推荐
- java.lang.ClassNotFoundException: org.apache.commons.beanutils.DynaBean
项目报错:java.lang.ClassNotFoundException: org.apache.commons.beanutils.DynaBean 解决方法: 在pom.xml中加入如下依赖: ...
- 一个常见下拉菜单的样式:一体化小三角(纯css手写解决)
类似下拉菜单2个一体化小三角,习惯上用字体图标加jQuery处理,比较方便,但是下面纯css手写解决方式,效果也还不错,对CSS知识也是一个比较好的孔固. 小三角用了2种不同处理方式:1.利用bord ...
- [Javascirpt] Immediately-Invoked function!!! IMPORTANT
var parkRides = [["Birch Bumpers", 40], ["Pines Plunge", 55], ["Cedar Coast ...
- 通过WebRTC实现实时视频通信(三)
通过WebRTC实现实时视频通信(一) 通过WebRTC实现实时视频通信(二) 通过WebRTC实现实时视频通信(三) 在这篇文章中我们继续了解WebRTC的相关API,RTCPeerConnecti ...
- Python网络编程 - 一个简单的客户端Get请求程序
import socket target_host = "www.baidu.com" target_port = 80 # create a socket object clie ...
- DOM与JavaScript、jQuery之间的关系
DOM(document object model) 其实是浏览器内元素对象的一个总称 我们用JavaScript对网页进行的所有操作都是通过DOM进行的.DOM属于浏览器,而不是JavaScript ...
- 从零开始学JavaScript二(基本概念)
基本概念 一.区分大小写 在ECMAScript中的一切(变量.函数名.操作符)都是区分大小写的. 如变量名test和Test分别表示两个不同的变量, 二.标识符 所谓标识符,就是指变量.函数.属性的 ...
- 〖Android〗/system/etc/event-log-tags
一博客中,一段的注释的解释:[From: http://blog.csdn.net/hustpzb/article/details/8525324] /** * Access to the syste ...
- spring cloud学习地址
http://book.itmuch.com/1%20%E5%BE%AE%E6%9C%8D%E5%8A%A1%E7%AE%80%E4%BB%8B/1%20%E5%BE%AE%E6%9C%8D%E5%8 ...
- java中相同名字不同返回类型的方法
这种名字相同返回类型不同的方法,在同一个类中是无法共存的,不论是继承过来的方法,还是多实现过来的方法,在一个类内都无法共存.名字确定了,你能改的只有参数(重载).