新闻增删改Dao类(代码封装)

该代码段展示了使用Java进行数据库操作的实现,包括用户登录、注册、新闻的增删改查等功能。DBHelper类用于数据库连接,User、News、Subject、Ptext实体类分别对应用户、新闻、主题和评论数据,而UserDao、NewsDao、SubjectDao、PtextDao则实现了相应的数据访问操作。
摘要由CSDN通过智能技术生成

这里我们主要用到的是zking.包,china.包是参照表

 DBHleper类

package zking.util;

import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class DBHelper {
	private static String user = "scott";
	private static String upwd = "tiger";
	private static String cname = "oracle.jdbc.driver.OracleDriver";
	private static String url = "jdbc:oracle:thin:@localhost:1521:orcl";
	
	//注册驱动类
	static {
		try {
			Class.forName(cname);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
	//连接数据库
	/**
	 * 连接数据库
	 * @return
	 */
	public static Connection getCon() {
		Connection con = null;
		try {
			con = DriverManager.getConnection(url, user, upwd);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return con;
	}
	
	/**
	 * 关闭连接
	 * @param con
	 * @param ps
	 * @param rs
	 */
	public static void closeDb(Connection con,PreparedStatement ps,ResultSet rs) {
		try {
			if(con!=null) {
				con.close();
			}
			if(ps!=null) {
				ps.close();
			}
			if(rs!=null) {
				rs.close();
			}
			
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * 下一个获取下一个编号的方法
	 * @return 下一个编号
	 */
	public static int getNextId(String tableName,String col) {
		int id = 1;
		Connection con = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			con = DBHelper.getCon();
			ps = con.prepareStatement("select max("+col+") from "+tableName);
			rs = ps.executeQuery();
			if(rs.next()) {
				id = rs.getInt(1)+1;
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			DBHelper.closeDb(con, ps, rs);
		}
		return id;
	}
	
	
	//关闭连接

}

用户实体类User

package zking.entity;

public class User {
	private int uuid;
	private String uname;
	private String upwd;
	private String uinfo;
	public User() {
		super();
	}
	public User(int uuid, String uname, String upwd, String uinfo) {
		super();
		this.uuid = uuid;
		this.uname = uname;
		this.upwd = upwd;
		this.uinfo = uinfo;
	}
	public int getUuid() {
		return uuid;
	}
	public void setUuid(int uuid) {
		this.uuid = uuid;
	}
	public String getUname() {
		return uname;
	}
	public void setUname(String uname) {
		this.uname = uname;
	}
	public String getUpwd() {
		return upwd;
	}
	public void setUpwd(String upwd) {
		this.upwd = upwd;
	}
	public String getUinfo() {
		return uinfo;
	}
	public void setUinfo(String uinfo) {
		this.uinfo = uinfo;
	}

}

用户Dao类UserDao

package zking.dao;

import java.sql.Connection;

import java.sql.PreparedStatement;
import java.sql.ResultSet;

import zking.entity.User;
import zking.util.DBHelper;

public class UserDao {
	//用户登录-根据帐号 密码 进行查询
	/**
	 * 用户登录
	 * @param uname 用户名
	 * @param upwd 用户密码
	 * @return 登录成功返回用户对象,失败返回null
	 */
	public User login(String uname,String upwd) {
		User user = null;
		Connection con = null;
		PreparedStatement ps = null;
		ResultSet rs= null;
		try {
			con = DBHelper.getCon();
			ps = con.prepareStatement("select * from T277 where uname=? and upwd=?");
			ps.setString(1, uname);
			ps.setString(2, upwd);
			rs = ps.executeQuery();
			//操作数据
			if(rs.next()) {
				int uuid = rs.getInt(1);
				String uinfo = rs.getString(4);
				
				user = new User(uuid, uname, upwd, uinfo);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			
			DBHelper.closeDb(con, ps, rs);
		}
		return user;
	}
	/**
	 * 用户注册
	 * @param user 注册的用户对象
	 * @return
	 */
	public int register(User user) {
		int i = 0;
		Connection con = null;
		Pr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值