开发流程记录(废)

创建lyyp项目,项目中添加mysql的jar包。

mysql-connector-java-5.1.7-bin.jar 此包放入项目WebContent-WEB-INF-lib中,

项目右键选择Build Path-Java Build Path - Libraries,

Add JARs...找到项目中在上一步引入的jar包,OK.

Java Resources -src 创建dbconfig.properties文件

代码:

driver=com.mysql.jdbc.Driver
dburl=jdbc:mysql://localhost:3306/lyyp_db
user=root
password=******

Java Resources -src 创建系统通用工具类

Package【包名】:util

Name【类名】:ConnectionFactory

代码:

//Authors /buddha
package util;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;
public class ConnectionFactory {
    private static String driver;// 数据库加载驱动
    private static String dburl;// 链接地址
    private static String user;// 用户名
    private static String password;// 密码
    //私有   静态                      连接工厂
    private static final ConnectionFactory factory = new ConnectionFactory();
    private Connection conn;//连接
    // 配置信息的读取代码
    static {
        Properties prop = new Properties();// 定义类,处理键值对
        try {
            // 获取配置文件【dbconfig.properties】
            // 获取属性文件中的内容,首先获取类加载器,然后读取属性文件中的内容,从输入流中读取键值对列表
            //输入流=连接工厂.类.得到类装载器.获取资源作为流("资源名")
            InputStream in = ConnectionFactory.class.getClassLoader().getResourceAsStream("dbconfig.properties");
            prop.load(in);
        } catch (Exception e) {
            System.out.println("===配置文件读取错误===");
        }
        driver = prop.getProperty("driver");
        dburl = prop.getProperty("dburl");
        user = prop.getProperty("user");
        password = prop.getProperty("password");
    }
    // 默认的构造函数
    private ConnectionFactory() {
    }

    public static ConnectionFactory getInstance(){
        return factory;
    }

    //获取数据库的连接方法
    public Connection makeConnection(){
        try {
            Class.forName("driver");
            conn=DriverManager.getConnection(dburl,user,password);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return conn;
    }
}

Java Resources - src 创建 实体抽象类

Package【包名】:entity

Name【类名】:IdEntity

代码:

// Authors /buddha
package entity;//实体类包
//    抽象类
public abstract class IdEntity {
    protected Long id;
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
}

entity包下 创建user类

Name【类名】:User

Browse...输入IdEntity选中,

声明字段之后,Source - Generate Getters Setters...【创建get,set方法】

Source - Generte toString()...【】

除了原有勾选,添加 Inherited fields - id 勾选。

代码:

// Authors /buddha
package entity;//实体类包
//user 继承自IdEntity抽象实体类
public class User extends IdEntity {

    private String uname;
    private String upassword;

    //get set方法
    public String getUname() {
        return uname;
    }
    public void setUname(String uname) {
        this.uname = uname;
    }
    public String getUpassword() {
        return upassword;
    }
    public void setUpassword(String upassword) {
        this.upassword = upassword;
    }

    @Override
    public String toString() {
        return "User [uname=" + uname + ", upassword=" + upassword + ", id=" + id + "]";
    }
}

Java Resources -src 创建接口

Package【包名】:dao

Name【接口名】:UserDao

代码:

// Authors /buddha
package dao;//接口包
import java.sql.Connection;
import java.sql.SQLException;
import entity.User;
//user接口
public interface UserDao {
    //保存
    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;
}

dao包下创建一个接口具体实现类包

Package【包名】:dao.impl 【接口具体实现类】

Name【类名】:UserDaoImpl

Add...【添加】 UserDao接口

代码:

// Authors /buddha
package dao.impl;//包名【接口具体实现类包】
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.PreparedStatement;//这里引入的包注意更改
import dao.UserDao;
import entity.User;
//接口具体实现类
public class UserDaoImpl implements UserDao {
    // 保存用户信息
    @Override
    public void save(Connection conn, User user) throws SQLException {
        PreparedStatement ps = conn.prepareCall("INSERT INTO lyyp_common_user(UName,UPassword) VALUES(?,?)");
        ps.setString(1, user.getUname());
        ps.setString(2, user.getUpassword());
        ps.execute();
    }
    // 根据用户指定的ID更新用户信息
    @Override
    public void update(Connection conn, Long id, User user) throws SQLException {
        String updateSql = "UPDATE lyyp_common_user SET UName = ?,UPassword = ? WHERE id = ?";
        PreparedStatement ps = conn.prepareStatement(updateSql);
        ps.setString(1, user.getUname());
        ps.setString(2, user.getUpassword());
        ps.setLong(3, id);
        ps.execute();
    }
    // 删除指定的用户信息
    @Override
    public void delete(Connection conn, User user) throws SQLException {
        PreparedStatement ps = conn.prepareStatement("DELETE FROM lyyp_common_user WHERE id = ?");
        ps.setLong(1, user.getId());
        ps.execute();
    }
}
时间: 2024-10-18 21:05:05

开发流程记录(废)的相关文章

s5p4418 Android 4.4.2 驱动层 HAL层 服务层 应用层 开发流程记录(一 硬件驱动层)

本文章是记录Android开发中驱动层.HAL层.应用层之间的关系,以及其开发方法,本文将会以实现LED的控制为例来进行记录. 一是可以给以后自己做开发做参考,二是希望可以帮助正在学习的朋友参考. 一般的app不需要我们去关注hal和驱动,但在设计一个硬件系统时,原生的Android并未提供合适的服务,所以我们才需要去了解这个流程.由于也是刚入门,很多还不太懂,朋友们有什么疑问可以留言. 首先需要了解,Android的app想要操作硬件,是什么样的一个流程.一般是这样的,app应用层.服务层.硬

关于WebGL的开发流程

我们学习WebGL也有3周左右了,我们在这里把我们的开发流程记录一下. 在HTML里的部分,我们由于目前只是一个简单的页面,其实就是一个canvas画布,所以我们没有什么好说的. 在js里面,他的一些流程是这样的: 1:首先,我们的WebGL的图形绘画其实是以canvas画布为核心的,所以我们需要先获取画布,然后获取gl的文本上下文,具体的操作是: var canvas = document.getElementById('webgl'); var gl = getWebGLContext(ca

互联网公司的“敏捷开发”流程是怎么样的,每个职位的角色和分工是什么?

作者:暗灭 第一   为什么需要敏捷开发. 在几万年以前,软件项目的开发都是以年来计算的,这代表什么意思呢 ?需求设计了半年多,方案设计做了半年多,开发了三年多,测试了半年多,修改Bug用了半年多.总计花了很长很长的时间,然后上线后发现有很多需求已经不存在了,同时又出现了很多新的需求. 怎么办?继续改.这一改又是半年多的时间过去了.马丹用户的需求还再改,怎么办? 这是困扰软件开发项目的最大的问题,越大的项目,参与的人越多,风险越大.文档越规范,维护起来的难度就越高,导致项目中遇到的问题越来越多.

微信支付开发流程

授人以鱼不如授人以渔 微信支付开发流程 下面以PHP语言为例,对微信支付的开发流程进行一下说明. 1.获取订单信息 2.根据订单信息和支付相关的账号生成sign,并且生成支付参数 3.将支付参数信息POST到微信服务器,获取返回信息 4.根据返回信息生成相应的支付代码(微信内部)或是支付二维码(非微信内),完成支付. 下面分步骤的讲一下: 1.微信支付中相关的必须的订单参数有三个,分别是:body(商品名或订单描述),out_trade_no(一般为订单号)和total_fee(订单金额,单位“

《白帽子讲WEB安全》学习笔记之第17章 安全开发流程(SDL)

第17章 安全开发流程(SDL) 17.1 SDL简介 安全开发是从根源有效地解决安全漏洞问题,而已在软件的生命周期内,这样的开发模式成本更低. SDL过程: q  培训 所有的开发人员必须接收适当的安全培训,了解相关的安全知识. q  安全要求 明确项目的安全要求. q  质量门/bug栏 质量门和bug栏相当于确定安全和隐私质量的最低可接受级别. q  安全和隐私风险评估 评估项目中的安全现状和威胁模型 q  设计要求 在产品设计初期考虑安全问题 q  减小攻击面 减小攻击面通过减少攻击者利

软件开发流程(转载)

软件开发流程 迭代化软件开发技术 1. 传统开发流程的问题 传统的 软件开发流程是一个文档驱动的流程,它将整个软件开发过程划分为顺序相接的几个阶段,每一个阶段都必需完毕所有规定的任务(文档)后才可以进入下一个阶段. 如必须完毕所有的系统需求规格说明书之后才可以进入概要设计阶段,编码必需在系统设计完毕之后才可以进行.这就意味着仅仅有当所有的系统模块所有开发完毕之 后,我们才进行系统集成,对于一个由上百个模块组的复杂系统来说,这是一个很艰巨而漫长的工作. 随着我们所开发的软件项目越来越复杂,传统的瀑

外包项目开发流程规范(ODC)

    忙碌时候时间过得很快,没时间记录下工作的一些东西,以下记录外包项目开发的一些流程规范: ODC软件系统开发流程: 例行版本:1.需求分析(用户.ODC) 1)找用户谈需求 2)确定系统上线时间.移交用户测试时间2.工作量的估算(ODC) 1)各个功能点需要的人天(初步估算,后续需求有改动,需要重新更新)3.工作计划安排(ODC) 1)开发计划-指定哪个功能由哪个开发人员进行开发,什么时候开发完成(移交系统测试) 2)测试计划-几时移交系统测试.几时移交用户测试4.系统开发及自测(ODC)

移动端开发者眼中的前端开发流程变迁与前后端分离

写在最开始 移动端与前端的区别 前端开发的混沌时代 后端 MVC MVC 方案实现 MVC 的缺点与改进 前端只写 Demo HTML 模板 后端 MVC 架构总结 AJAX 与前端 MVC 前后端分离的缺点 双端 MVC 不统一 SEO 性能不够 集中 Or 分离 Nodejs 前后端分离的哲学 Nodejs 分层 实战应用 风险控制 总结 参考资料 写在最开始 这是一篇面向移动端开发者的科普性文章,从前端开发的最初流程开始,结合示范代码,讨论开发流程的演变过程,希望能覆盖一部分前端开发技术栈

小型软件项目开发流程探讨

一.导言 国内很多项目都是小型项目, 参与人员少(两到五个人), 要快速交付(一两个月) . 要成功完成这种项目, 除了使用成熟且被团队成员熟练使用的技术之外, 有一个良好的开发流程, 也是很必要的. 二.小型软件项目开发流程 下图是我对小型软件项目开发流程的一个设想: 需求分析的重要性想必大家都应该清楚, 对于项目来说, 满足用户的需求是第一位的. 因为时间紧, 系统设计经常被忽略. 这会留下很大的隐患, 国内很多项目的需求通常是很简略的, 还需要在系统设计阶段把一些需求进一步的明确. 不然会