使用JDBC实现CRUD操作:
查询操作:
public class UserDAO {
public User findUserById(int id){
User userInfo = null; Connection con = DBConnection.getConnection();
PreparedStatement pst = null; String sql = “select * from userInfo where id=? ”;
ResultSet rs = null;
try {
pst = con.prepareStatement(sql); pst.setInt(1,id);
rs = pst.executeQuery();
if(rs.next()){
userInfo = new User(); userInfo.setId(rs.getInt("id"));
userInfo.setPassword(rs.getString("pass"));
userInfo.setUserName(rs.getString(“user_name"));
}
} catch (SQLException e) {e.printStackTrace(); }
finally{
try { rs.close(); pst.close(); con.close(); } catch (Exception e) { }
}
return userInfo;
}
添加操作:
public void addUser(User user) throws Exception{
Connection con = DBConnection.getConnection();
PreparedStatement pst = null;
String sql = “insert into userInfo(user_name,pass) values(?,?)”;
try {
pst = con.prepareStatement(sql);
pst.setString(1, user.getUserName());
pst.setString(2,user.getPassword());
pst.executeUpdate();
}finally{
。。。
}
}
删除操作:
public void deleteUser(int id) throws Exception{
Connection con = DBConnection.getConnection();
PreparedStatement pst = null;
String sql = “delete from userInfo where id = ?”;
try {
pst = con.prepareStatement(sql);
pst.setInt(1, id);
pst.executeUpdate();
}finally{
。。。
}
}
更新操作:
public void updateUser(User user) throws Exception {
Connection con = DBConnection.getConnection();
PreparedStatement pst = null;
String sql = “update userInfo set name = ? ,password = ? where id = ?”;
try {
pst = con.prepareStatement(sql);
pst.setString(1,user.getName());
pst.setString(2,user.getPassword());
pst.setInt(3, id);
pst.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally{
。。。
}
}
使用Hibernate实现CRUD操作:
public class UserDAO {
public User findUserById(int id){
return session.get(User.class,id);
}
public void addUser(User user){
session.save(user);
}
public void updateUser(User user){
session.update(user);
}
public void deleteUser(int id){
User user = new User();
user.setId(id);
session.delete(user);
}
}
类型一:
//得到Configuration
Configuration configuration=new Configuration().configure();
//得到一个会话工厂
SessionFactory sessionFactory=configuration.buildSessionFactory();
//得到一个Session对象
Session session=sessionFactory.openSession();
//开始一个事务
Transaction transaction=session.beginTransaction();
/*//添加一个book
Books book=new Books();
book.setAuthor("c");
book.setName("wh");
session.save
(book);*/
/*//查询book
Books book=(Books) session.load(Books.class, 2);
System.out.println(book.getAuthor());*/
/*//更新book
Books book=(Books) session.load(Books.class, 2);
book.setAuthor("chen");
book.setName("Spring");*/
/*//删除book
Books book=(Books) session.load(Books.class, 14);
session.delete
(book);*/
//提交事务
transaction.commit();
//关闭session
session.close();
类型二:
Configuration configuration=new Configuration().configure();
SessionFactory sessionFactory=configuration.buildSessionFactory();
Session session=sessionFactory.openSession();
Transaction transaction=session.beginTransaction();
/*//更新
Query query=session.createQuery("update Books set name='hibernate' where id=:id");
query.setInteger("id", 1);
query.executeUpdate();*/
//查询所有字段
/*Query query=session.createQuery("from Books");
List<Books
> list=query.list();
for(Books book:list){
System.out.println("作者:"+book.getAuthor());
}*/
/*//查询多个字段
Query query=session.createQuery("select name,author from Books");
List<Object[]
> list2=query.list();
for(Object[] object:list2){
String author=(String) object[1];
System.out.println("作者:"+author);
}*/
//查询一个字段
/*Query query=session.createQuery("select author from Books");
List<String
> list3=query.list();
for(String author:list3){
System.out.println("作者:"+author);
}*/
transaction.commit();
if(session!=null||!"".equals(session)){
System.out.println("关闭session。。。。");
}
//类型三:
criteria
接口
的简单使用
ts=session.beginTransaction();
Criteria
cri=session.createCriteria(Employee.class).
setMaxResults(2).addOrder(Order.desc("id")
);
List<Employee>
list=cri.list();
for(Employee e: list){
System.out.println(e.getAaaid());
}
ts.commit();
分享到:
相关推荐
Hibernate与JDBC对于数据库的性能操作对比事例,配置,更多信息资源
本教程将深入讲解如何使用Hibernate进行基本的创建(Create)、读取(Read)、更新(Update)和删除(Delete)操作,即CRUD操作。 ### 1. Hibernate环境搭建 首先,我们需要在项目中引入Hibernate的依赖库,通常...
比较两者,JDBC适合简单的数据库操作,而Hibernate更适合复杂的业务逻辑和大型项目,因为它的ORM特性减少了大量手动SQL编写的工作量,提高了开发效率和代码的可维护性。在实际项目中,开发者通常根据需求和项目规模...
在Java编程中,JDBC(Java Database Connectivity)是用于连接数据库的标准接口,它允许开发者通过编写Java代码来执行SQL语句,实现对数据库的增删改查(CRUD)操作。本文将详细介绍如何使用JDBC进行CRUD操作。 **...
在IT行业中,JDBC(Java Database Connectivity)是Java程序与数据库交互的标准接口,它使得开发者能够用Java语言来执行SQL语句,实现数据的增、删、查、改(CRUD)操作。本示例“JDBC CRUD操作的粗略封装DEMO”提供...
本篇文章将深入探讨如何使用JDBC来实现创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete)数据,以及结合JUnit进行单元测试确保代码的正确性。 首先,我们要理解JDBC的基本工作流程: 1. 加载驱动:使用...
在IT行业中,数据库操作是应用程序开发的核心部分,而Hibernate和JDBC是两种常见的Java数据库连接技术。本篇文章将深入探讨这两个技术,以及如何进行相关的测试。 首先,JDBC(Java Database Connectivity)是Java...
Hibernate通过JDBC与Oracle进行通信,执行CRUD(创建、读取、更新、删除)操作。 综上所述,这个项目展示了如何利用SpringMVC、Spring、Hibernate和Oracle这四者协同工作,实现一个完整的图书管理系统。SpringMVC...
在CRUD操作中,Hibernate负责数据的保存、更新、查询和删除。 Spring框架则是一个全面的企业级应用开发框架,它提供了依赖注入(DI)、面向切面编程(AOP)、数据访问/集成、Web应用等多种功能。在本例中,Spring...
在“06_传智播客JDBC_完成对数据库的CRUD操作”中,可能详细讲解了以上概念,并通过实例演示了如何在Java程序中实现这些操作。学习这个教程,开发者能够熟练掌握JDBC的基础用法,进一步提升数据库操作能力。同时,...
### Hibernate与JDBC:概述与对比 #### 一、JDBC简介 ...总结而言,Hibernate和JDBC都是Java应用与数据库交互的重要工具,各有优劣。选择使用哪个取决于具体项目的需求、团队的技术背景以及预期的性能目标等因素。
本文将深入探讨如何使用JDBC和Hibernate来操作Oracle数据库,同时结合提供的标签"源码"和"工具",我们将讨论它们的实现细节和优势。 首先,JDBC是Java语言的标准API,它允许Java应用程序与各种类型的数据库进行通信...
JDBC(Java Database Connectivity)和Hibernate是Java中处理数据库操作的两个重要工具。对于初学者来说,理解和掌握这两个技术对于深入理解Java后端开发至关重要。 JDBC是Java API,它提供了一种标准的方式来连接...
Ibatis通过XML或注解方式定义和配置SQL映射,将Java对象和数据库记录进行映射,实现了数据的CRUD操作。 在实现CRUD操作时,Ibatis有以下核心组件: 1. SQL Map配置文件:这是Ibatis的核心,用于存放SQL语句及其...
以上就是Hibernate的基本配置和CRUD操作的介绍。通过这些操作,我们可以轻松地在Java应用中处理数据库数据,而无需直接编写SQL语句,极大地提高了开发效率和代码的可维护性。在实际项目中,还需要注意事务管理、性能...
自己写的一个JDBC通用DAO 有几点需要注意: 1.数据库命明目前只支持没下血杠命名(_) 2.表ID字段名取名有2种方式 (1)ID (2)TableName + ID 例如:user表 则取名为 id 或者 userid 因为没有用xml来映射表结构确定哪一个...
【Spring4-Struts2-Hibernate4 CRUD Demo_3】是一个综合性的开发示例,它展示了如何在Java Web应用程序中整合三大主流框架:Spring 4、Struts 2和Hibernate 4来实现CRUD(创建、读取、更新、删除)操作。这个Demo...
- **编写业务代码**:使用Hibernate的Session接口进行数据的CRUD操作,而ShardingJDBC会在背后透明地处理分片逻辑,确保数据正确路由到相应的数据库实例。 - **测试和优化**:运行应用,进行单元测试和集成测试,...
jdbc封装(实现对实体的增删改查[分页]),辅助学习Hibernate 包含三个文件夹,分别是: code-access实现 是用access实现的,本意是access方便,就一个文件,方便部署。但access有好多不支持,就写成这样.主要是可参考Dao...
这个驱动包包含了实现JDBC接口的类和方法,使得Java程序可以识别并连接到Access数据库。 在"hibernate 链接access数据的jdbc驱动包"中,可能包含以下组件: 1. **META-INF**:这是一个元数据目录,通常包含...