JavaWeb对数据库操作主要使用JDBC和ORM框架两种方式。

  1. JDBC

JDBC是Java Database Connectivity的缩写,是Java语言访问数据库的标准API。通过JDBC可以实现对关系型数据库的连接、查询、插入、更新、删除等操作。

JDBC的使用步骤如下:

1)加载数据库驱动程序

2)建立数据库连接

3)创建Statement对象

4)执行SQL语句

5)处理结果集

6)关闭数据库连接

示例代码:

Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","123456");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from user");
while(rs.next()){
    System.out.println(rs.getString("username"));
}
rs.close();
stmt.close();
conn.close();
  1. ORM框架

ORM(Object-Relational Mapping)框架是一种将对象模型和关系型数据库模型进行映射的技术,可以避免编写大量的SQL语句,简化开发流程。

常用的ORM框架有Hibernate、MyBatis等。

以Hibernate为例,使用步骤如下:

1)配置Hibernate环境

2)定义实体类,并映射到数据库表

3)配置Hibernate映射文件

4)编写DAO层接口和实现类

5)编写业务逻辑层

示例代码:

实体类:

@Entity
@Table(name="user")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    private String username;
    private String password;
    //getter和setter
}

DAO层:

@Repository
public class UserDaoImpl implements UserDao {
    @Autowired
    private SessionFactory sessionFactory;

    private Session getCurrentSession() {
        return sessionFactory.getCurrentSession();
    }

    @Override
    public User findById(int id) {
        return (User) getCurrentSession().get(User.class, id);
    }

    @Override
    public void save(User user) {
        getCurrentSession().save(user);
    }

    @Override
    public void delete(User user) {
        getCurrentSession().delete(user);
    }

    @Override
    public void update(User user) {
        getCurrentSession().update(user);
    }

    @Override
    public List<User> findAll() {
        Query query = getCurrentSession().createQuery("from User");
        return query.list();
    }
}

业务逻辑层:

@Service
@Transactional
public class UserServiceImpl implements UserService {
    @Autowired
    private UserDao userDao;

    @Override
    public User findById(int id) {
        return userDao.findById(id);
    }

    @Override
    public void save(User user) {
        userDao.save(user);
    }

    @Override
    public void delete(User user) {
        userDao.delete(user);
    }

    @Override
    public void update(User user) {
        userDao.update(user);
    }

    @Override
    public List<User> findAll() {
        return userDao.findAll();
    }
}
``
JavaWeb对数据库操作

原文地址: https://www.cveoy.top/t/topic/ftd9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录