关闭

JDBC-数据库连接代码优化二

标签: 数据库优化
171人阅读 评论(0) 收藏 举报
分类:

1.创建DTO类

创建IdEntity抽象实体类

package com.jdbc.entity;

public abstract class IdEntity {
    protected Long id;

    public Long getId() {
        return id;
    }

    public void setId() {
        this.id = id;
    }
}

创建User 实体类

package com.jdbc.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;
    }

    @Override
    public String toString() {
        return "User [name=" + name + ", password=" + password + ", email="
                + email + ", id=" + id + "]";
    }

}

创建Address 实体类

package com.jdbc.entity;

public class Address extends IdEntity {
    private String city;
    private String country;
    private String userId;

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    @Override
    public String toString() {
        return "Address [city=" + city + ", country=" + country + ", userId="
                + userId + ", id=" + id + "]";
    }

}

2.创建DAO类

创建接口UserDao 类

package com.jdbc.dao;

import java.sql.Connection;
import java.sql.SQLException;

import com.jdbc.entity.User;

public interface UserDao {
    public void save(Connection con, User user) throws SQLException;

    public void update(Connection con, Long id, User user) throws SQLException;

    public void delete(Connection con, User user) throws SQLException;
}

创建接口实现类

package com.jdbc.dao.impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import com.jdbc.dao.UserDao;
import com.jdbc.entity.User;

public class UserDaoImpl implements UserDao {

    /*
     * 保存用户信息
     */
    @Override
    public void save(Connection con, User user) throws SQLException {
        PreparedStatement ps = con
                .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();
    }

    /*
     *根据用户指定的ID更新用户信息
     */
    @Override
    public void update(Connection con, Long id, User user) throws SQLException {
        String updatesql = "update tbl_user set name=?,password=?,email=? where id=?";
        PreparedStatement ps = con.prepareStatement(updatesql);
        ps.setString(1, user.getName());
        ps.setString(2, user.getPassword());
        ps.setString(3, user.getEmail());
        ps.setLong(4, id);
        ps.execute();
    }

    /*
     * 删除指定的用户信息
     */
    @Override
    public void delete(Connection con, User user) throws SQLException {
        String deletesql = "delete from tbl_user where id=?";
        PreparedStatement ps = con.prepareStatement(deletesql);
        ps.setLong(1, user.getId());
        ps.execute();
    }

}

创建测试类UserDaoTest

package com.jdbc.test;

import java.sql.Connection;

import com.jdbc.dao.UserDao;
import com.jdbc.dao.impl.UserDaoImpl;
import com.jdbc.entity.User;
import com.jdbc.util.ConnectionFactory;

public class UserDaoTest {

    public static void main(String[] args) {
        Connection conn=null;
        try {
            conn=ConnectionFactory.getInstance().makeConnection();
            conn.setAutoCommit(false);

            UserDao userDao=new UserDaoImpl();
            User tom=new User();
            tom.setName("Tom");
            tom.setPassword("123456");
            tom.setEmail("tom@gmail.com");

            userDao.save(conn, tom);
            conn.commit();

        } catch (Exception e) {
            try {
                conn.rollback();
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
    }

}
1
0
查看评论

JDBC-数据库连接代码优化

新建ConnectionFactory 类package com.jdbc.util;import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.util.Pro...
  • u013189927
  • u013189927
  • 2016-04-02 09:41
  • 253

JDBC-数据库连接工具类

package com.ycx.util;import java.sql.*;import javax.naming.InitialContext;import javax.naming.NamingException;import javax.sql.DataSource;import javax...
  • flfna
  • flfna
  • 2011-06-28 11:15
  • 807

jdbc-数据库连接-12-29-2014

一、数据简介 1、数据库规范:标准SQL 两个功能:查询、更新(增加、删除、修改) Oracle:中大型项目,稳定性,安全性 mySQL:开源 Sqlservert:大型数据库  Windows 中大型  .net db2:IBM 金融 二、jdbc简介 总的概况就...
  • yhj19920417
  • yhj19920417
  • 2014-12-30 19:13
  • 404

JDBC- 正确关闭数据库连接

在我们刚开始学习 JDBC时,由于没有使用数据库连接池,我们代码中的每一次连接都需要我们自己来关闭。 不过很多人,都没有正确关闭,包括一些 JDBC的教程。 例如: https://www.javatpoint.com/example-to-connect-to-the-ora...
  • u013565163
  • u013565163
  • 2017-07-24 20:03
  • 1653

代码优化工具

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明 http://www.chedong.com/tech/indent_tools.html关键词:pretty print indent perltidy pydent astyle htmltidy source...
  • black_ben
  • black_ben
  • 2006-03-17 09:07
  • 6139

编译原理过程简述及中间代码优化

一、编译过程图示如下:词法分析作用:找出单词 。如int a=b+c; 结果为: int,a,=,b,+,c和; 语法分析作用:找出表达式,程序段,语句等。如int a=b=c;的语法分析结果为int a=b+c这条语句。 语义分析作用:查看类型是否匹配等。二、中间代码优化所谓代码优化是指对程序...
  • qq_34417408
  • qq_34417408
  • 2017-09-28 17:21
  • 329

改进版-标准-JDBC-项目示例二

1.软件包规范的结构: 2.开始步骤顺序: 3.代码示范: package com.yunhe.bean; public class BanJi { private int id; private String name; public int getId() { return i...
  • DuHacker
  • DuHacker
  • 2015-09-19 17:17
  • 267

项目开发之代码优化

web编程,代码优化问题是一个值得探讨的问题。
  • u012466304
  • u012466304
  • 2015-12-05 23:59
  • 970

Android代码优化工具

1.前言:在我们平时项目开发中,经常会写一些不严谨的代码或者一些比较低级的错误代码,但是这些错误往往很难被发现,这样就导致了我们的项目中会隐藏了很多影响性能甚至是导致闪退的错误代码,于是许多响应的检测工具就出现了.在这里我就介绍一下我比较常用的几个检测工具吧项目DEMO源码2.FindBugs顾名思...
  • yulyu
  • yulyu
  • 2017-02-10 19:53
  • 6513

Python代码优化及技巧笔记(一)

这里是记录一些本人在开发过程中遇到的一些细节问题,与君共勉。
  • u013761665
  • u013761665
  • 2016-02-25 17:21
  • 1613
    个人资料
    • 访问:21178次
    • 积分:530
    • 等级:
    • 排名:千里之外
    • 原创:32篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    最新评论