jdbc学習まとめ3----javabean+dao
1.テストクラスの内容:
在包:com.hanchao.テスト中
2.実体類の書き方:com.hanchao.entity
3.daoの書き方:com.hanchao.dao
daoの内容を見てみると、いくつかの方法のコードが重複していることがわかりました!!だから次の文章では、コードを最適化します!
私は前の3つの文章の例を、データベースを含めて、圧縮パッケージに入れました!名前は:jdbc学習例.rar.
必要な学友はダウンロードすることができます!!
在包:com.hanchao.テスト中
- package com.hanchao.test;
-
- import com.hanchao.dao.UserDao;
- import com.hanchao.entity.User;
-
- /**
- * jdbc (javaBean+DAO)
- * @author hanlw
- * 2012-07-09
- */
- public class Test {
-
- /**
- * 1. JavaBean?
- * :<1>. ;<2>. (setter and getter)
- *
- * 2.javabean :entity 、pojo、vo
- *
- * 3.DAO = data access object ( CRUD !!)
- * DAO (entity) 。
- */
-
- public static void main(String[] args) {
-
- /**
- * 1.insert()
- */
- /* UserDao userDao = new UserDao();
- User user = new User();
-
- user.setUsername("chenchen");
- user.setAddress("jiangsu");
- userDao.insert(user);
- */
-
- /**
- * 2.update()
- */
- /* UserDao userDao = new UserDao();
- User user = new User();
-
- user.setId(20);
- user.setAddress("yancheng1");
- user.setUsername("iloveyou");
- userDao.update(user);
- */
-
- /**
- * delete()
- */
- // UserDao userDao = new UserDao();
- // userDao.delete(21);
-
- /**
- * retrieve()
- */
- UserDao userDao = new UserDao();
- userDao.retrieve(22);
-
- }
-
- }
2.実体類の書き方:com.hanchao.entity
- package com.hanchao.entity;
- /**
- *
- * @author hanlw
- * 2012-07-09
- */
- public class User {
-
- /**
- * 1. : t_user User
- *
- * 2. :
- *
- * 3. getter setter
- */
-
- private int id;
- private String username;
- private String address;
-
- // setter...getter..
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getAddress() {
- return address;
- }
- public void setAddress(String address) {
- this.address = address;
- }
-
-
- }
3.daoの書き方:com.hanchao.dao
- package com.hanchao.dao;
-
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
-
- import com.hanchao.entity.User;
-
- /**
- * User Dao
- * @author hanlw
- * 2012-07-09
- */
- public class UserDao {
-
- /**
- * :
- * 1. Dao ( +Dao), User Dao :UserDao
- *
- * 2.Dao CRUD !! :
- */
-
- /**
- * 1. mysql insert
- */
- public int insert(User user) {
- Connection con = null;
- PreparedStatement sta = null;
- int rows = 0;
-
- try {
-
- Class.forName("com.mysql.jdbc.Driver");
- con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb","root","root");
-
- String sql = "insert into t_user(username,address) value(?,?)";
- sta = con.prepareStatement(sql);
- sta.setString(1, user.getUsername());
- sta.setString(2, user.getAddress());
-
- rows = sta.executeUpdate();
- if(rows > 0) {
- System.out.println("operate successfully!!");
- }
-
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- if(sta != null) {
- try {
- sta.close();
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- if(con != null) {
- try {
- con.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- }
- }
- return rows;
- }
-
- /**
- * 2. mysql update
- */
- public int update(User user) {
- Connection con = null;
- PreparedStatement sta = null;
- int rows = 0;
-
- try {
- Class.forName("com.mysql.jdbc.Driver");
- con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb","root","root");
-
- String sql = "update t_user set address=?,username=? where id=?";
- sta = con.prepareStatement(sql);
- sta.setString(1, user.getAddress());
- sta.setString(2, user.getUsername());
- sta.setInt(3, user.getId());
-
- rows = sta.executeUpdate();
- if(rows > 0) {
- System.out.println("ok");
- }
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- if(sta != null) {
- try {
- sta.close();
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- if(con != null) {
- try {
- con.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- }
- }
- return rows;
- }
-
- /**
- * 3. mysql delete()
- */
- public int delete(int id) {
- Connection con = null;
- PreparedStatement sta = null;
- int rows = 0;
-
- try {
- Class.forName("com.mysql.jdbc.Driver");
- con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb","root","root");
-
- String sql = "delete from t_user where id=?";
- sta = con.prepareStatement(sql);
- sta.setInt(1, id);
-
- rows = sta.executeUpdate();
- if(rows > 0) {
- System.out.println("ok,ok,ok");
- }
-
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- if(sta != null) {
- try {
- sta.close();
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- if(con != null) {
- try {
- con.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- }
- }
- return rows;
- }
-
-
- /**
- * 4.retrieve()
- */
- public void retrieve(int id) {
- Connection con = null;
- PreparedStatement sta = null;
- ResultSet rs = null;
-
- try {
- Class.forName("com.mysql.jdbc.Driver");
- con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb","root","root");
-
- String sql = "select id,username,address from t_user where id=?";
- sta = con.prepareStatement(sql);
- sta.setInt(1, id);
-
- rs = sta.executeQuery();
- if(rs.next()) {
- int idd = rs.getInt("id");
- String username = rs.getString("username");
- String adrress = rs.getString("address");
- System.out.println(idd+"\t"+username+"\t"+adrress);
- }
-
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- if(rs != null) {
- try {
- rs.close();
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- if(sta != null) {
- try {
- sta.close();
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- if(con != null) {
- try {
- con.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- }
- }
- }
- }
- }
-
- }
daoの内容を見てみると、いくつかの方法のコードが重複していることがわかりました!!だから次の文章では、コードを最適化します!
私は前の3つの文章の例を、データベースを含めて、圧縮パッケージに入れました!名前は:jdbc学習例.rar.
必要な学友はダウンロードすることができます!!