cbh735 发表于 2013-2-3 14:39:41

java连接数据库操作—-DAO

可能学过jdbc的朋友们都知道java是如何与数据库建立连接,现在想分享的是一种较为结构化的数据库操作,即DAO,啥都不多说,现上代码啦!   O(∩_∩)O哈哈~

Java编程网:http://www.haohaoblog.com

package com.cn.crud.dao;

import java.sql.*;

import java.util.*;

import com.cn.crud.dto.*;

*///userDAO++++++++++++++++++++++++++++++++++++++++++++++++++

public class UserDAO

{

String driver = “com.mysql.jdbc.Driver”;

String url = “jdbc:mysql://localhost:3306/crud”;

String username = “root”;   String password = “root”;

//CreateByDTO————————————————

public void createUser(UserDTO user)

{

Connection con=null;

Statementstmt=null;

ResultSetrs=null;

try

{

Class.forName(driver);

con = DriverManager.getConnection(url,username,password);

String sql=”insert into user (userid,username,pass,name,sex,age) values (”         + “‘” + user.getUserid() + “‘” + “,”         + “‘” + user.getUsername() + “‘” + “,”         + “‘” + user.getPass() + “‘” + “,”         + “‘” + user.getName() + “‘” + “,”         + “‘” + user.getSex() + “‘” + “,”         + “‘” + user.getAge() + “‘”   +”)”;

stmt = con.createStatement();

stmt.execute(sql);

}

catch(Exception sqlex1)

{   sqlex1.printStackTrace();   }

finally   {

if (con != null)

{

try {          con.close();   }

catch(SQLException sqlex2)

{   sqlex2.printStackTrace();   }

}

}

}

//UpdateByDTO————————————————

public void updateUser(UserDTO user)

{

Connection con=null;

Statementstmt=null;

ResultSetrs=null;

try{

Class.forName(driver);

con = DriverManager.getConnection(url,username,password);

String sql = “update user set ”         + “username =’” + user.getUsername() + “‘,”         + “pass =’” + user.getPass() + “‘,”         + “name =’” + user.getName() + “‘,”         + “sex =’” + user.getSex() + “‘,”         + “age =’” + user.getAge() + “‘”         + ” where userid = ‘” + user.getUserid() + “‘”         ;   stmt = con.createStatement();   stmt.executeUpdate(sql);

}

catch(Exception sqlex1)

{   sqlex1.printStackTrace();   }

finally   {   if (con != null)

{   try {          con.close();   }

catch(SQLException sqlex2)

{   sqlex2.printStackTrace();   }   }   }   }

//UpdateByDTOs————————————————

public void updateUsers(Vector users)

{       Iterator it = users.iterator();

while(it.hasNext())

{         UserDTO user = (UserDTO)it.next();         updateUser(user);       }   }

//RemoveByPrimaryKey————————————————

public void removeByPrimaryKey(java.lang.String _userid)

{   Connection con=null;

Statementstmt=null;

ResultSetrs=null;

try{

Class.forName(driver);

con = DriverManager.getConnection(url,username,password);

String sql = “delete from user where userid = ‘” + _userid + “‘”;

stmt = con.createStatement();   stmt.execute(sql);

}

catch(Exception sqlex1)

{   sqlex1.printStackTrace();   }

finally

{   if (con != null)

{   try {          con.close();   }

catch(SQLException sqlex2)

{   sqlex2.printStackTrace();   }   }   }   }

//RemoveByDTO————————————————

public void removeUser(UserDTO user)

{   removeByPrimaryKey(user.getUserid());   }

//RemoveByDTOs————————————————

public void removeUsers(Vector users)

{       Iterator it = users.iterator();

while(it.hasNext())

{         UserDTO user = (UserDTO)it.next();         removeUser(user);       }   }

//findByPrimaryKey————————————————

public UserDTO findByPrimaryKey(java.lang.String _userid)

{   Connection con=null;

Statementstmt=null;

ResultSetrs=null;

UserDTO user = new UserDTO();

try{

Class.forName(driver);

con = DriverManager.getConnection(url,username,password);

stmt = con.createStatement();

String sql = “select * from user where userid = ‘” + _userid + “‘”;

rs = stmt.executeQuery(sql);

while(rs.next())

{

user.setUserid(rs.getString(“userid”));

user.setUsername(rs.getString(“username”));

user.setPass(rs.getString(“pass”));

user.setName(rs.getString(“name”));

user.setSex(rs.getString(“sex”));

user.setAge(rs.getString(“age”));

}

}

catch(Exception sqlex1)

{   sqlex1.printStackTrace();   }

finally

{   if (con != null)

{   try {          con.close();

}

catch(SQLException sqlex2)

{   sqlex2.printStackTrace();   }

}

return user;   }   }

public List findAll()

{   Connection con = null;

Statement stmt = null;

ResultSet rs = null;

List ls = new ArrayList();

try

{    Class.forName(driver);

con = DriverManager.getConnection(url, username, password);

stmt = con.createStatement();

String sql = “select * from user”;

UserDTO user;    rs = stmt.executeQuery(sql);

while(rs.next())

{   user = new UserDTO();

user.setUserid(rs.getString(“userid”));

user.setUsername(rs.getString(“username”));

user.setPass(rs.getString(“pass”));

user.setName(rs.getString(“name”));

user.setSex(rs.getString(“sex”));

user.setAge(rs.getString(“age”));

ls.add(user);

}

}

catch (Exception sqlex1)

{    sqlex1.printStackTrace();   }

finally   {

if (con != null)

try   {      con.close();   }

catch (SQLException sqlex2)

{      sqlex2.printStackTrace();   }

return ls;   }}

publicstatic voidmain(String args[])

{    UserDAO dao=new UserDAO();

UserDTO dto=new UserDTO();

List ls=new ArrayList();

ls=dao.findAll();

System.out.println(ls.size());

if(ls.size()>0)

{    for(int i=0;i<ls.size();i++)

{    dto=(UserDTO)ls.get(i);

dto.getAge();   }}   } }

有些地方是根据笔者电脑的配置环境来具体改变的,比如数据库的名称,数据库连接的表,用户名和密码,还有具体的DTO 名称,但以上代码是较为完整的数据库操作代码,只是有些外部调用类,但是都是很好理解!希望朋友们能够互相交流!

本文固定链接: http://www.haohaoblog.com/?p=145 | java编程网
页: [1]
查看完整版本: java连接数据库操作—-DAO