自定义连接数据库的util类

package com.shuzf.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class JDBCUtil {
// 定义驱动器类的路径
private static final String DRIVER = "oracle.jdbc.driver.OracleDriver";
// 定义用于连接数据库的URL
private static final String URL = "jdbc:oracle:thin****l";
// 定义用于访问数据库的用户名及密码
private static final String USERNAME = "s****t";
private static final String PASSWORD = "t***r"; // 加载驱动器类
static {
try {
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
} // 定义获得连接的方法
public static Connection getConnection() {
Connection conn = null;
;
try {
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
} // 定义释放数据库资源的方法
public static void destory(Connection con, Statement stat, ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
} if (stat != null) {
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
} if (con != null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
} }

基本类

package com.shuzf.jdbc;

public class Student {
private Integer Id;
private String Name;
private String Sex;
private int Age; public Student() {
super();
}
public Student(String name, String sex, int age) {
Id = null;
Name = name;
Sex = sex;
Age = age;
}
public Integer getId() {
return Id;
}
public void setId(Integer id) {
Id = id;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public String getSex() {
return Sex;
}
public void setSex(String sex) {
Sex = sex;
}
public int getAge() {
return Age;
}
public void setAge(int age) {
Age = age;
} }

增删改查

package com.shuzf.jdbc;

import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList; public class JdbcTest { public int insert(Student student) {
Connection conn = JDBCUtil.getConnection();
int i = 0;
PreparedStatement pst = null;
String sql = "insert into students (Name,Sex,Age,Addtime) values(?,?,?,?)";
try {
pst = conn.prepareStatement(sql);
pst.setString(1, student.getName());
pst.setString(2, student.getSex());
pst.setInt(3, student.getAge());
pst.setDate(4, new Date(new java.util.Date().getTime()));
i = pst.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtil.destory(conn, pst, null);
}
return i;
} public int update(Student student) {
Connection conn = JDBCUtil.getConnection();
int i = 0;
PreparedStatement pst = null;
String sql = "update students set Age='" + student.getAge() + "' where Name='" + student.getName() + "'";
try {
pst = conn.prepareStatement(sql);
i = pst.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtil.destory(conn, pst, null);
}
return i;
} public int delete(Student student) {
Connection conn = JDBCUtil.getConnection();
int i = 0;
PreparedStatement pst = null;
String sql = "delete from students where Name='" + student.getName() + "'";
try {
pst = conn.prepareStatement(sql);
i = pst.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtil.destory(conn, pst, null);
}
return i;
} public ArrayList<Student> getStudent(String name) {
Connection conn = JDBCUtil.getConnection();
PreparedStatement pst = null;
ResultSet rs = null;
ArrayList<Student> students = new ArrayList<Student>();
String sql = "select * from students where Name='" + name + "'";
try {
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
// int count = rs.getMetaData().getColumnCount();// 指示列数目的 int值
while (rs.next()) {
Student s = new Student();
s.setId(rs.getInt("id"));
s.setName(rs.getString("name"));
s.setSex(rs.getString("sex"));
s.setAge(rs.getInt("age"));
students.add(s);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtil.destory(conn, pst, rs);
}
return students;
} public static void main(String[] args) {
// TODO Auto-generated method stub } }

Java连接数据库,及增删改查的更多相关文章

  1. Java连接数据库,增删改查

    底层代码: package com.zdsoft; import java.sql.*; /** * Created by lx on 2017/6/22. */ public class JDBCU ...

  2. 基于springmvc、ajax,后台连接数据库的增删改查

    前言 前段时间在博客园上找了一个springmvc的例子,照着学了一下,算是对springmvc有了一个初步的了解,打一个基础,下面是链接.(我只看了博客,视频太耗时间了) 博客链接:http://w ...

  3. java DMO及增删改查代码的自动生成

    在web开发过程中,尤其是后台管理系统的开发中,少不了增删改成的基础操作,原来我自己的做法是一份一份的拷贝粘贴,然后修改其中的不同,然而这样既枯燥无味又浪费了大量的时间,所以根据自己项目结构的特点写了 ...

  4. BaseDao代码,用于连接数据库实行增删改查等操作

    在学习JavaWeb时会用到此代码,用于实行增删改查操作 1 package com.bdqn.dao; import java.sql.Connection; import java.sql.Dri ...

  5. 【简易版】Java ArrayList(增删改查)

    1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: (1)动态的增加和减少元素 (2)实现了ICollectio ...

  6. JDBC连接数据库及增删改查操作

    什么是JDBC?Java语言访问数据库的一种规范,是一套APIJDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类 ...

  7. 百度鹰眼Java接口调用增删改查实例

    因感觉百度鹰眼的使用场景比较符合实际业务,于是对百度鹰眼做了简单功能调试.刚开始使用springframework封装的RestTemplate,但是测试提示ak参数不存在.后又试了几种方法,均提示a ...

  8. Java学生信息增删改查(并没用数据库)

    一个泛型的应用,Java版本增删改查,写的简陋,望批评指正 2016-07-02 很久前写的一个程序了.拿出来存一下,不是为了展示啥,自己用的时候还可以看看.写的很粗糙. import java.io ...

  9. MongoDB(二)-- Java API 实现增删改查

    一.下载jar包 http://central.maven.org/maven2/org/mongodb/mongo-java-driver/ 二.代码实现 package com.xbq.mongo ...

  10. LR接口测试---Java Vuser之增删改查

    import lrapi.lr; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepared ...

随机推荐

  1. JSP知识点总结

    一.jsp静态包含和动态包含的区别 在学习request对象的时候,我们曾经使用过request.getRequestDispatcher(String url).include(request,re ...

  2. ubuntu开发项目不能执行热更新

    当项目开发到一定成熟度,项目基本上比较大(vue,angular,react,java,php等),在Ubuntu系统环境下,我们写了代码,但是不能想Windows一样执行热更新,这是因为Ubuntu ...

  3. .Net语言 APP开发平台——Smobiler学习日志:如何设置页面的title

    1.修改Mobile Form的TitleText的属性 输入需要显示标题,如图1: 2.修改Mobile Form的TitleStyle属性 其中包括Image属性(窗体图标).BackColor属 ...

  4. asp.net引用System.Speech实现语音提示

    using System; using System.Speech.Synthesis; namespace testvoice { class Program { static void Main( ...

  5. 多线程(3)ThreadPool

    使用Thread类已经可以创建并启动线程了,但是随着开启的线程越来越多,线程的创建和终止都需要手动操作,非常繁琐,另一个问题是,开启更多新的线程但是没有用的线程没有及时得到终止的时候,会占用越来越多的 ...

  6. Vue2开发大全

    参考资料: vuex element qs.js axios.js vue promise 关于ES6的Promise的使用深入理解  vue2 设置网页title的问题 Mint UI websto ...

  7. mybatis中:selectKey返回最近插入记录的id

    <insert id="insert" parameterType="com.lls.model.Employee"> <!-- select ...

  8. JMeter 接口测试(一)

    之前的篇幅介绍了soapUI测试接口, 因为功能丰富, 操作简单, 可以参数化而深受测试小伙伴的喜欢, 今天再给大家介绍一款利器, Jmeter是Apache组织下的免费工具, 我使用的是Mac 系统 ...

  9. 手机Soc芯片简介

    手机SoC(System On a Chip,在一个芯片里面集成CPU.GPU.SP.ISP.RAM内存.Wi-Fi控制器.基带芯片以及音频芯片等)芯片(基于arm架构指令集) 高通骁龙(Snapdr ...

  10. fiddler几种功能强大的用法

    参考网址: http://caibaojian.com/fiddler.html http://www.cnblogs.com/tangdongchu/p/4178552.html 1.fiddler ...