Java的家庭记账本程序(B)
日期:2019.2.3
博客期:029
星期日
看看今天想先完成jsp的连接操作,所以首先意识到自己的程序中,管理员可以对成员进行冻结、解封操作,所以先回去补了一下数据库的内容!成员的内容里多了一项isfrozen用于判定当前人物是否被冻结,之后又去改了JavaBean属性、DOC层、servlet,这几项改动确实挺累人的,一改就都要改!唉~难受!好在现在改好了!今天就这样吧!
package sql.mysql; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; import basic.people.Member; public class MySqlForMembers {
//=======================================================================================【数据区】
//JDBC 驱动名
private final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
//数据库 URL
private final String DB_URL = "jdbc:mysql://localhost:3306/familycash?useSSL=false";
//用户名
private final String USER = "root";
//密码
private final String PASS = "123456";
//构造器
private Connection conn = null;
private Statement stmt = null;
private PreparedStatement pstmt = null;
private ResultSet rs = null;
//=======================================================================================【方法区】
//-------《返回是否存在名称为name的数据》
public boolean exist(String name){
ReSetResult("SELECT name from member");
try {
while(rs.next())
{
String t = rs.getString("name");
if(name.compareTo(t)==0)
return true;
}
} catch (SQLException e) {
System.out.println("爷爷!你的数据库连接出现问题啦!");
}
return false;
}
//-------《返回是否存在型号为n的数据》
public boolean exist(int code){
ReSetResult("SELECT code from member");
try {
while(rs.next())
{
String t = rs.getString("code");
if(code==Integer.parseInt(t))
return true;
}
} catch (SQLException e) {
System.out.println("爷爷!你的数据库连接出现问题啦!");
}
return false;
}
//-------《重设rs》
public void ReSetResult(String sql){
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
System.out.println("爷爷!你的数据库连接出现问题啦!");
}
}
//-------《增删改查》
//添加一个用户的数据
public void Add(Member x){
try {
pstmt = (PreparedStatement) conn.prepareStatement("insert into member values (?,?,?,?,?)");
pstmt.setInt(1, x.getCode());
pstmt.setString(2, x.getName());
pstmt.setString(3, x.getPassword());
pstmt.setString(4, x.getCreatdate());
pstmt.setInt(5, x.getIsFrozen());
pstmt.executeUpdate();
pstmt.close();
} catch (SQLException e) {
System.out.println("爷爷!你的数据库连接出现问题啦!");
}
}
//删除一个用户的数据
public void Delete(String Name){
try {
pstmt = (PreparedStatement) conn.prepareStatement("delete from member where name=?");
pstmt.setString(1,Name);
pstmt.executeUpdate();
} catch (SQLException e) {
System.out.println("爷爷!你的数据库连接出现问题啦!");
}
}
public void Delete(int code){
try {
pstmt = (PreparedStatement) conn.prepareStatement("delete from member where code=?");
pstmt.setInt(1,code);
pstmt.executeUpdate();
} catch (SQLException e) {
System.out.println("爷爷!你的数据库连接出现问题啦!");
}
}
//更新一个用户的数据
public void Renew(String Name,Member x){
try {
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(DB_URL,USER,PASS);
stmt = conn.createStatement();
pstmt = (PreparedStatement) conn.prepareStatement("update member set code=?, name=?, password=?, creatdate=? , isfrozen=? where name=?");
pstmt.setInt(1, x.getCode());
pstmt.setString(2, x.getName());
pstmt.setString(3, x.getPassword());
pstmt.setString(4, x.getCreatdate());
pstmt.setInt(5, x.getIsFrozen());
pstmt.setString(6,Name);
pstmt.executeUpdate();
pstmt.close();
} catch (SQLException e) {
System.out.println("爷爷!你的数据库连接出现问题啦!");
} catch (ClassNotFoundException e) {
System.out.println("爷爷!你的Class驱动加载出现问题啦!");
}
}
public void Renew(int code,Member x){
try {
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(DB_URL,USER,PASS);
stmt = conn.createStatement();
pstmt = (PreparedStatement) conn.prepareStatement("update member set code=?, name=?, password=?, creatdate=? , isfrozen=? where code=?");
pstmt.setInt(1, x.getCode());
pstmt.setString(2, x.getName());
pstmt.setString(3, x.getPassword());
pstmt.setString(4, x.getCreatdate());
pstmt.setInt(5, x.getIsFrozen());
pstmt.setInt(6,code);
pstmt.executeUpdate();
pstmt.close();
} catch (SQLException e) {
System.out.println("爷爷!你的数据库连接出现问题啦!");
} catch (ClassNotFoundException e) {
System.out.println("爷爷!你的Class驱动加载出现问题啦!");
}
}
//查询第几个用户的数据
public Member GetFromSQL(int number){
if(number <=0||number>Length())
return null;
ReSetResult("SELECT code, name, password, creatdate, isfrozen FROM member");
try {
int i = 1;
while(rs.next()&&number>=i)
{
int Code = Integer.parseInt(rs.getString("code"));
String Name = rs.getString("name");
String Password = rs.getString("password");
String Creatdate = rs.getString("creatdate");
int IsFrozen = Integer.parseInt(rs.getString("isfrozen"));
if(number==i)
return new Member(Code,Name,Password,Creatdate,IsFrozen);
++i;
}
} catch (SQLException e) {
System.out.println("爷爷!你的数据库连接出现问题啦!");
}
return null;
}
//查询一个用户的数据
public Member Refer(String name_s){
ReSetResult("SELECT code, name, password, creatdate, isfrozen FROM member");
Member s = null;
try {
while(rs.next())
{
int Code = Integer.parseInt(rs.getString("code"));
String Name = rs.getString("name");
String Password = rs.getString("password");
String Creatdate = rs.getString("creatdate");
int IsFrozen = Integer.parseInt(rs.getString("isfrozen"));
if(name_s.compareTo(Name)==0)
return new Member(Code,Name,Password,Creatdate,IsFrozen);
}
} catch (SQLException e) {
System.out.println("爷爷!你的数据库连接出现问题啦!");
}
return s;
}
public Member Refer(int code_s){
ReSetResult("SELECT code, name, password, creatdate, isfrozen FROM member");
Member s = null;
try {
while(rs.next())
{
int Code = Integer.parseInt(rs.getString("code"));
String Name = rs.getString("name");
String Password = rs.getString("password");
String Creatdate = rs.getString("creatdate");
int IsFrozen = Integer.parseInt(rs.getString("isfrozen"));
if(code_s==Code)
return new Member(Code,Name,Password,Creatdate,IsFrozen);
}
} catch (SQLException e) {
System.out.println("爷爷!你的数据库连接出现问题啦!");
}
return s;
}
//-------《数据数》
public int Length(){
ReSetResult("SELECT code, name, password, creatdate, isfrozen FROM member");
int l = 0;
try {
while(rs.next())
{
++l;
}
} catch (SQLException e) {
System.out.println("爷爷!你的数据库连接出现问题啦!");
}
return l;
}
//-------《最大的编号值》
public int MaxCode(){
ReSetResult("SELECT code FROM member");
int l = 0;
try {
while(rs.next())
{
int Code = Integer.parseInt(rs.getString("code"));
if(l<Code)
l = Code;
}
} catch (SQLException e) {
System.out.println("爷爷!你的数据库连接出现问题啦!");
}
return l;
}
//-------《释放》
public void free(){
try {
if(pstmt!=null)
pstmt.close();
if(stmt!=null)
stmt.close();
if(conn!=null)
conn.close();
} catch (SQLException e) {
System.out.println("爷爷!你的数据库连接出现问题啦!");
}
}
//-------《构造方法》
public MySqlForMembers(){
try {
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(DB_URL,USER,PASS);
} catch (ClassNotFoundException e1) {
System.out.println("爷爷!你的Class驱动加载出现问题啦!");
} catch (SQLException e) {
System.out.println("爷爷!你的数据库连接出现问题啦!");
}
}
//-------《主方法》
public static void main(String[] args){
MySqlForMembers m = new MySqlForMembers();
System.out.println();
for(int i=1;i<=m.Length();++i)
{
m.GetFromSQL(i).display();
}
m.free();
}
}
MySqlForMember
本代码由于涉及本人的部分个人信息——已于2019.6.20修改,代码仍然可用,请大家放心
  
Java的家庭记账本程序(B)的更多相关文章
- Java的家庭记账本程序(J)
		
日期:2019.3.9 博客期:041 星期六 这次就来看看我使用全新的模板写的家庭记账本程序!本次附带配色样式!作为本周的学习进度条吧!明天再研究微信小程序的方法! 这一次的记账本程序加了很多功能! ...
 - Java的家庭记账本程序(L)
		
日期:2019.3.13 博客期:044 星期三 整理了两天,我终于也是把微信小程序平台的记账本软件完全开发出来了,并将我的微信账号与GitHub账号完成了绑定,那么我就先展示一部分作品,还有一部分代 ...
 - Java的家庭记账本程序(G)
		
日期:2019.2.24 博客期:035 星期日 啊哈!记账本虽然还是没有做完,不过,今天我的工作量应该是足够的!哦!差点忘记说啦!我是在Android Studio出现了问题之后,跑去研究微信小程序 ...
 - Java的家庭记账本程序(A)
		
日期:2019.2.1 博客期:028 星期五 其实我早就开始开发“家庭记账本”的软件了,只不过写博客写的有点晚,我是打算先做web的!因为Android Studio的教程,还是要对应版本,好多问题 ...
 - Java的家庭记账本程序(K)
		
日期:2019.3.10 博客期:043 星期日 呕吼~这里是编程菜鸟小Master,今天加油的把第二个模板套用了,更改了许多的设定,我想这一个程序的网页版也就到这里结束了,下面是一部分的展示图,想要 ...
 - Java的家庭记账本程序(H) :微信小程序 image 标签,在模拟器中无法显示图片?(已解决)
		
日期:2019.2.25 博客期:036 星期一 吼!今天我还是继续研究了自己的微信小程序,还没有连接数据库,只是在xml的设计上添加了不少东西,大家可以看我的截图,嗯~说到今天的收获,就是 marg ...
 - Java的家庭记账本程序(F)
		
日期:2019.2.17 博客期:034 星期日 我先配置了Android的相关环境,先试着做了Hello World的测试,但是却出现了很严重的问题,问题如下: Unable to get curr ...
 - Java的家庭记账本程序(E)
		
日期:2019.2.9 博客期:032 星期二 今天是把程序的相关Bug补一补,嗯`: 1.添加了跳转说明 生成了一个对于成员的权限声明内容,用户再登陆界面点击Go按钮后,切换至说明页面,再次点击Go ...
 - Java的家庭记账本程序(D)
		
日期:2019.2.8 博客期:031 星期一 今天是把程序的查询功能以列表的形式完成了! 截图如下:
 
随机推荐
- 微信小程序 后端用Flask实现
			
手上有个微信小程序项目,因为对Python相对熟悉一些,打算后端用python写,具体采用python 轻量级的flask框架. 在做的过程中,有些问题需要考虑,记录在下边. 1. 开发的小程序后端怎 ...
 - Coursera, Deep Learning 4, Convolutional Neural Networks - week1
			
CNN 主要解决 computer vision 问题,同时解决input X 维度太大的问题. Edge detection 下面演示了convolution 的概念 下图的 vertical ed ...
 - 自己对Java的一点看法
			
作为一个理论性比较强的学生,谈一下这段时间对java以及对程序设计的理解 java相对于其它语言有几个特点,一个是面向对象,一个是强类型 首先谈谈面向对象,关于类和对象,这个一定要 ...
 - mui卡片视图的制作
			
<!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...
 - Windows命令查看文件MD5,SHA1,SHA256 文件校验
			
certutil -hashfile yourfilename.ext MD5 certutil -hashfile yourfilename.ext SHA1 certutil -hashfile ...
 - react-踩坑记录——Link带参数跳转后this.props为空对象
			
原因,自组件在挂载时,父组件没向其传props划线部分不可缺少!!!!!!
 - linux 文件搜索命令
 - hsf
			
参考文章: ----- 架构和框架的区别 1.HSF源码剖析 2.Http和RPC区别 3.分布式服务框架HSF 4.高并发架构系列:如何从0到1设计一个类Dubbo的RPC框架 5.HSF的原理分析 ...
 - android屏蔽系统锁屏的办法
			
最近在开发一个第三方锁屏,使用中需要屏蔽系统锁屏,故代码如下: 在第三方锁屏的服务中onCreate()方法中(第三方锁屏服务启动时关闭一次系统锁屏服务即可) KeyguardManager mKey ...
 - P2050 [NOI2012]美食节
			
题目地址:P2050 [NOI2012]美食节 先来讲一下P2053 [SCOI2007]修车(如果会做请跳过) 同一时刻有 \(N\) 位车主带着他们的爱车来到了汽车维修中心.维修中心共有 \(M\ ...