mysql增删改查加密解密

已经实训一周了,特意来写篇博客记录下,如果有不对的地方,还请大家指出,共同进步。

这一周主要学习了java连接后台数据库的增删改查还有BASE64加密算法

 

    

一、分层

建立相应的包结构和导入对应的包在lib下

第一个为加密算法用到的包,第二个连接数据库用到的包

Bean  包里面是实体类,user为用户类,jdbc为存放明文暗文的类

DAO包里面为操作用户类的接口

 

DAOImpl里面为实现接口类,实现接口里的方法

Demo包里面为演示类,我把操作封装到了test类中。Demo类是主函数,直接运行的

Utils包里面为工具类,分别封装了数据库连接的工具类,加密解密工具类,读取数据库配置文件的工具类

Mysql.properties为数据库配置文件

 

其中shop为要操作的数据库的名字,以上为操作数据库的基本分层

二、增删改查

1.增加操作

 

先声明数据库连接对象 conn 调用JDBCConnection类的静态方法getConnection()获得连接对象  (连接类后面讲,现在先只知道可以获得数据库连接对象即可)

在写好sql语句

再声明数据库操作对象(预处理对象)pstmt,然后再通过conn的对应方法赋初值

因为SQL语句中有‘?’,(代码中的?为英文问号,想起我的一个bug是因为中文问号浪费好久,就很扎心)

Pstmt的set方法为问号赋值setInt为问号是int类型的,setString为问号是Strign型的,以此类推,将问号赋值后,执行petmt的executeUpdate()方法此时有一点需要注意,pstmt有三个方法

 

然后关闭打开的资源,先关闭预处理对象,再关闭连接,此时用到了JDBCConection封装好的方法,(后面讲怎么封装的)

这是添加的方法

运行结果:

成功添加

(经检测  用这个语句也是可以的)

2. 删除操作

代码如图:大同小异

(用注释的代码也是可以的就是那三个pstmt的语句,以后要注重区分)

 

运行结果:

 

 

3. 修改操作

 

当初写这个代码的时候,一共用到8个问号,我有个写成了中文,还没看出来,真的扎心啊!!!!浪费好长时间,函数第二个参数是要修改的用户的手机号码,根据这个找到要被修改的用户,再进行修改。

运行结果:

 

4. 查找操作

4.1查找全部

 

返回一个结果集,用list集合接收,与之前不同的是,这个在代码中声明了结果集

ResluSet rs ,此结果集来存放查找到的所有数据,在调用他的rs.next()函数判断是否有数据,如果有的话则声明一个user对象用于接收这条数据在添加到集合中,以此类推,直到没有数据,最后关闭对应的连接(先打开的连接最后关闭,先进后出——栈),最后再返回这个集合.

4.2按指定条件查找——手机号

 

返回查找到的那个对象

运行结果:

 

 

4.3按姓名模糊查找(姓在第一个字)

 

此代码的重点就在那条SQL语句和给pstmt赋值

 

Like 去匹配后面的问号

%代表0个或多个字符

运行结果:

 

以上是增删改查代码主要的操作

三、工具类

 3.1用到了加密算法(BASE64算法)

老师讲,这一段以后开发项目时只会用到一次加密解密,会用即可

不过我还是记录下吧,直接上代码

加密代码:

 

解密代码:

 

2. 读取配件类

此时我写了三个方法,都成功了,个人很高兴

第一个方法用if传参数判断,

 

配置文件

 

第二个方法,返回一个list集合

 

第三个方法,声明一个对象jdbc,存放读取配置文件的数据,(可以对里面进行明文暗文的存取,比较方便)

 

3. 得到数据库连接类

此时要用到上一步说的读取配置文件类

第一个方法

 

第二个方法

 

第三个方法

 

我用到了加密算法,首先对密文解密

 

这是个数据库连接类,我再此类中封装了三个close()方法

 

此类的类名字是

 

四,测试类

测试类test

我把AdminImpl实现DAO接口的代码都封装到了test类中,便于调用

 

然后主函数调用这个菜单,直接开始程序

 

在配置文件中的密码可以设置为暗文,明白原理就好了

综上所述,java基于mysql是用base64增删改查小程序建立完成

也遇到了几个比较坑的问题

有的问题是中英文不一样导致的,还有的问题实在解决不了把软件关掉在重启试试,我今天就这样·······真的很无语·····浪费好长时间·····

 

应该给他赋值给一个对象,再对赋值的对象进行操作

 

加密中如上图可以,直接用注释的不行

解密中如下图可以,直接用注释的不行

 

密文是加密后知道的,就可以用了,不是所有的加密都可以解密的,不过这个可以

有不足的我会改正,希望两年后找个好工作哈哈哈哈哈哈哈哈

加油加油!最近很开心

猜你喜欢

转载自blog.csdn.net/weixin_42659261/article/details/81048363