javabean和jdbc的使用实例系列(三)

第三步:定义连接数据库的类 封装连接数据库和关闭数据库资源的方法

package com.sc.tool;

import java.sql.*;

/**
 * 连接数据库
 * @author ZhangShaoWen
 *
 */
public class BaseDao {
	
	//定义连接数据库需要的参数
	private static String drivcerName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
	private static String url ="jdbc:sqlserver://localhost:1433;databaseName=o2prison";
	private static String user = "sa";
	private static String passw = "100862";
	
	//连接数据库
	public static Connection getConnection(){
		
		Connection conn = null;
		
		try {
			Class.forName(drivcerName);
			conn = DriverManager.getConnection(url,user,passw);
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return conn;
	}
	
	//关闭资源
	public static void closeAll(Connection conn,PreparedStatement ps,ResultSet rs){
		
		try {
			if(rs!=null) rs.close();
			if(ps!=null) ps.close();
			if(conn!=null) conn.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
	
}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
使用JavaBean设置数据属性和行为: JavaBean是一种Java语言写成的可重用组件,它是一个符合特定规范的Java类,具有无参构造方法,并且属性通过setter和getter方法进行访问,行为通过方法实现。可以通过以下步骤使用JavaBean设置数据属性和行为: 1.创建一个Java类,定义私有属性,并提供setter和getter方法,如下所示: ```java public class User { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } ``` 2.在Servlet中使用JavaBean: 需要在Servlet中实例JavaBean,设置其属性并执行相关操作,如下所示: ```java public class UserServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { User user = new User(); user.setName(request.getParameter("name")); user.setAge(Integer.parseInt(request.getParameter("age"))); //执行相关操作 } } ``` 使用Servlet完成数据处理和操作转化为使用MVC模式通过JDBC操作Mysql数据库: MVC是一种设计模式,将应用程序分为个部分:模型、视图和控制器。在MVC模式下,Servlet作为控制器,负责接收请求并决定如何处理它们。模型负责处理数据,而视图负责呈现数据。 使用MVC模式操作MySQL数据库需要遵循以下步骤: 1.定义模型: 定义JavaBean作为模型,负责处理数据,例如: ```java public class UserDao { public void addUser(User user) { //将用户添加到数据库中 } public User getUser(String name) { //从数据库中获取用户信息并返回 } public void updateUser(User user) { //更新数据库中用户信息 } public void deleteUser(String name) { //从数据库中删除指定用户 } } ``` 2.定义视图: 视图负责呈现数据,通常是一个JSP页面。 例如: ```html <form method="post" action="UserServlet"> <label>Name:</label> <input type="text" name="name" /> <br/> <label>Age:</label> <input type="text" name="age" /> <br/> <input type="submit" value="Submit" /> </form> ``` 3.定义控制器: 控制器负责接收请求,并决定如何处理它们。在这个例子中,Servlet充当控制器。 例如: ```java public class UserServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name = request.getParameter("name"); int age = Integer.parseInt(request.getParameter("age")); User user = new User(); user.setName(name); user.setAge(age); UserDao userDao = new UserDao(); userDao.addUser(user); //将用户信息存储到request对象中,然后将请求转发到JSP页面 request.setAttribute("user", user); request.getRequestDispatcher("user.jsp").forward(request, response); } } ``` 4.在JSP页面中显示数据: 在JSP页面中使用EL表达式获取request对象中的数据,并将其显示在页面上。 例如: ```html <h1>User Information:</h1> <p>Name: ${user.name}</p> <p>Age: ${user.age}</p> ``` 5.使用JDBC操作MySQL数据库: 在模型中使用JDBC操作MySQL数据库。 例如: ```java public class UserDao { public void addUser(User user) throws SQLException, ClassNotFoundException { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root"); PreparedStatement ps = conn.prepareStatement("insert into user(name, age) values(?, ?)"); ps.setString(1, user.getName()); ps.setInt(2, user.getAge()); ps.executeUpdate(); ps.close(); conn.close(); } public User getUser(String name) throws SQLException, ClassNotFoundException { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root"); PreparedStatement ps = conn.prepareStatement("select * from user where name = ?"); ps.setString(1, name); ResultSet rs = ps.executeQuery(); User user = new User(); if (rs.next()) { user.setName(rs.getString("name")); user.setAge(rs.getInt("age")); } rs.close(); ps.close(); conn.close(); return user; } public void updateUser(User user) throws SQLException, ClassNotFoundException { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root"); PreparedStatement ps = conn.prepareStatement("update user set age = ? where name = ?"); ps.setInt(1, user.getAge()); ps.setString(2, user.getName()); ps.executeUpdate(); ps.close(); conn.close(); } public void deleteUser(String name) throws SQLException, ClassNotFoundException { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root"); PreparedStatement ps = conn.prepareStatement("delete from user where name = ?"); ps.setString(1, name); ps.executeUpdate(); ps.close(); conn.close(); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蟹道人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值