JDBC编程之程序优化

来源:互联网 发布:ubuntu zip压缩命令 编辑:程序博客网 时间:2024/06/09 17:15
首先,新建包package com.djx.entity;,其中类为 Identity ,实现代码如下:
package com.djx.entity;public abstract class Identity {protected Long id;public Long getId() {return id;}public void setId(Long id) {this.id = id;}}


在同一包下新建Identity类的继承类User.java文件

package com.djx.entity;public class User extends Identity{private String name;private String password;private String email;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}@Overridepublic String toString() {return "User [name=" + name + ", password=" + password + ", email=" + email + ", id=" + id + "]";}}

新建包package com.djx.Dao;,定义接口类useDao,代码如下;
package com.djx.Dao;import java.sql.SQLException;import com.djx.entity.User;import com.mysql.jdbc.Connection;public interface useDao {public void save(Connection conn,User user) throws SQLException;public void update(Connection conn,Long id,User user) throws SQLException;public void  delete(Connection conn,User user) throws SQLException;}
新建包package com.djx.Dao.impl;,在这个包里定义上述接口的实现类文件,代码如下:

package com.djx.Dao.impl;import java.io.IOException;import java.sql.SQLException;import com.djx.Dao.*;import com.djx.entity.User;import com.mysql.jdbc.Connection;import com.mysql.jdbc.PreparedStatement;import javafx.css.PseudoClass;public class UserDaoImpl implements useDao {@Overridepublic void save(Connection conn, User user) throws SQLException {// TODO Auto-generated method stubPreparedStatement ps =(PreparedStatement) conn.prepareCall("insert into tbl_user(name,password,email) values(?,?,?)");ps.setString(1,user.getName() );ps.setString(2,user.getPassword());ps.setString(3, user.getEmail());ps.execute();}@Overridepublic void update(Connection conn, Long id, User user) throws SQLException {// TODO Auto-generated method stubPreparedStatement ps=(PreparedStatement) conn.prepareCall("update tbl_user set name=?,password=?,email=? where id=?");ps.setString(1, user.getName());ps.setString(2, user.getPassword());ps.setString(3, user.getEmail());ps.setLong(4, user.getId());ps.execute();}@Overridepublic void delete(Connection conn, User user) throws SQLException {// TODO Auto-generated method stubPreparedStatement ps=(PreparedStatement) conn.prepareCall("delete from tb_user where id=?");ps.setLong(1,user.getId());ps.execute();}}

最后,定义测试类,代码如下:
package com.djx.DaoTest;import java.sql.SQLException;import com.djx.Dao.useDao;import com.djx.Dao.impl.UserDaoImpl;import com.djx.connectionTest.connectionTest;import com.djx.entity.User;import com.djx.util.ConnectionFactory;import com.djx.wy.userUnity;import com.mysql.jdbc.Connection;public class DaoTest {public static void main(String[] args) {// TODO Auto-generated method stubConnection conn=null;try {conn=ConnectionFactory.getInstance().makdConnection();conn.setAutoCommit(false);useDao userDao=new UserDaoImpl();User Tom=new User();Tom.setName("Tonny");Tom.setPassword("123456");Tom.setEmail("Tonny@163.com");userDao.save(conn, Tom);conn.commit();} catch (SQLException e) {try {conn.rollback();} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}}}



0 0
原创粉丝点击