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 星期一 今天是把程序的查询功能以列表的形式完成了! 截图如下: 
随机推荐
- zsh,oh-my-zsh,antigen使用记录
			关于 'zsh': 又名 z shell,‘z' 是26个字母中的最后一位,故取意为“终极终端”. 关于 'oh-my-zsh': 是一个针对zsh的模板化的z shell配置脚本,目标是配置一个好用 ... 
- CSS面试复习(一):HTML强化
			1. HTML常见元素和理解 head类 meta:字符集.base:路径. a[href,target] img[src,alt] table td[colspan,rowspan] form[ta ... 
- 前端面试(二):N轮面试
			一面 在一面中要掌握什么技巧,主要考察前端开发的基础知识 1.面试技巧.页面布局类 页面布局小结: 语义化掌握到位 页面布局理解深刻 CSS基础知识扎实 思维灵活且积极上进 代码书写规范 2.CSS盒 ... 
- 启动CDH的cloudera-scm-server报错Error: JAVA_HOME is not set and Java could not be found
			1 报错信息如下 +======================================================================+| Error: JAVA_HOME ... 
- Django学习手册 - reverse()反转URL
			前端: <h1>测试</h1> <a href="/ce_test/?id=1">1按键</a> <a href=" ... 
- Linux 逻辑卷管理LVM
			LVM概述 Logical Volume Manager,逻辑卷管理 屏蔽了底层磁盘布局,便于动态调整磁盘容量 需要注意:/boot分区用于存放引导文件,不能应用LVM机制 LVM结构 目标:将sdb ... 
- drand48 等 随机数生成函数
			参考: http://www.man7.org/linux/man-pages/man3/drand48.3.html drand48 返回服从均匀分布的·[0.0, 1.0) 之间的 double ... 
- Vue获取事件源
			设置事件源 <label :data-weight="item1.EvaluateWeight" @click='radioClick' :data-id="ite ... 
- [Kubernetes]关于K8s,你应该知道的一些东西
			Kubernetes概述 Kubernetes(也常称K8s,用8代替8个字符"ubernete"而成的缩写),是一个开源的,用于管理云平台中多个主机上的容器化应用. 它的一个核心 ... 
- 【OpenGL】【计算机图形学原理】撸课本系列一
			P13 简单二维图元的生成方法 #include <GL/glut.h> //用于表示openGL允许采用 glClear(GL_COLOR_BUFFER_BIT); //清除颜色缓存 g ... 
