java dao封装_java jdbc封装为DAO

package com.zhiru;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

class Student {

private String sno, sname, ssex;

private int sage;

public Student() {

super();

}

public Student(String no, String name, String sex, int age) {

this.sno = no;

this.sname = name;

this.ssex = sex;

this.sage = age;

}

public void setSno(String no) {

this.sno = no;

}

public void setSname(String name) {

this.sname = name;

}

public void setAge(int age) {

this.sage = age;

}

public String getSno() {

return sno;

}

public String getName() {

return sname;

}

public int getAge() {

return sage;

}

public String getSex() {

return ssex;

}

}

public class MyDao {

/*

* dao:数据访问对象 将对数据库的操作封装为对一个类的操作。 它处于数据库之上,业务逻辑之下

* 包括的功能:加载驱动,获取数据库连接,添加,查询,删除用户,查询所有用户。

*/

static {

try {

Class.forName("com.mysql.jdbc.Driver");

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

}

// 获取数据库连接

public Connection getConnection() {

try {

return DriverManager.getConnection(

"jdbc:mysql://localhost:3306/test", "root", "root");

} catch (SQLException e) {

e.printStackTrace();

}

return null;

}

// 关闭数据库连接

public void release(ResultSet rs, Statement s, Connection con)

throws SQLException {

if (rs != null) {

rs.close();

}

if (s != null) {

s.close();

}

if (con != null) {

con.close();

}

}

public Student getStudentBySno(String mysno) throws SQLException {

ResultSet rs = null;

Connection con = null;

PreparedStatement ps = null;

String sql = "select * from student where sno=?";

try {

con = this.getConnection();

ps = con.prepareStatement(sql);

ps.setString(1, mysno);

rs = ps.executeQuery();

if (rs.next()) {

Student stu = new Student(rs.getString("sno"),

rs.getString("sname"), rs.getString("ssex"),

rs.getInt("sage"));

return stu;

}

} catch (SQLException e) {

e.printStackTrace();

} finally {

this.release(rs, ps, con);

}

return null;

}

public static void main(String[] args) throws SQLException {

// TODO Auto-generated method stub

MyDao md = new MyDao();

Student stu = md.getStudentBySno("001");

System.out.println(stu.getSno() + "---" + stu.getName() + "---"

+ stu.getAge() + "---" + stu.getSex());

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值