文章目录

  • 前言
  • 一,建立工程
  • 二,导入jar包
  • 三,编写DataBase类实现连接数据库与操作数据库
  • 四,效果图
  • 参考文章

前言

经过前面的环境部署,今天我们终于可以来连接数据库了。参考我之前的文章。这篇文章把前面两章连接起来,做一个小总结,并做一个可以保存用户登录数据的网站,代码主要解释对数据库的部分。

先前的开发环境安装:
centos7从零搭建java web服务器
MySQL从零安装配置

一,建立工程

1,在eclipse新建动态web工程,具体过程已经有很多人写过了,我就简单说明一下。

打开eclipse->file->new->dynamic web subject

tomcat版本选你安装的版本,方便以后调试,web module 版本我用2.5,跟3.0差不多。3.0少了web.xml的配置文件等。一路next下去就行了

二,导入jar包

连接MySQL需要导入MySQL相关的jar包,另外我还加入log包,对于开发非常有帮助,可以在控制台打印数据,方便debug。jar包就放下图示目录,另外还需要在项目右击->properties->java built path->libraries里添加我们刚刚添加的jar包,这样jar包才算真正导入;

jar包下载连接:
链接: https://pan.baidu.com/s/143RT1qygtKIimCRmLdpAbw 提取码: vd22


点击add jars 选择刚刚加入的jar包添加进去就行了

*

三,编写DataBase类实现连接数据库与操作数据库

以下代码需要自己先了解SQL语句,MySQL基本命令。代码实现了连接数据库,对数据库的某表格进行添加,读取,更新操作。对应的应用是添加用户,读取用户登录信息,更新密码。

注意数据保存到MySQL数据库出现中文乱码的问题,要在前端,后台,连接串,MySQL都设置相同的编码方式,比如我选择的是utf8
在MySQL命令中输入show variables like “%char%”;查看当前的编码,如图,都是utf8就没问题,需要修改的话可以查看修改办法

DataBase.java代码,主要实现对数据库连接和增改查操作

package myapp;import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;import com.mysql.jdbc.Connection;public class DataBase {private static String driver="com.mysql.jdbc.Driver";//MySQL驱动private static String user = "prx";// MySQL的用户名和密码private static String password = "5812870-Prx";private static String ip_adress = "192.168.x.x";//主机ip地址/** 说明:与数据库建立连接* 参数:数据库名称*/private static Connection getConn(String DatabaseName) throws SQLException{//设置MySQL的连接串编码为UTF-8,避免中文乱码问题String url="jdbc:mysql://localhost:3306/"+DatabaseName+"?characterEncoding=UTF-8";System.out.println("the url is :"+url);Connection connection=null;try {Class.forName(driver);//加载MySQL驱动程序//连接数据库 驱动+ip地址+端口号+用户名+密码,端口号默认是3306connection=(Connection) DriverManager.getConnection("jdbc:mysql://" + ip_adress + ":3306/" + DatabaseName,user, password);connection.setEncoding("UTF-8");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}//返回connection对象return connection;}/** 添加新用户* String name,String sex,string age,String id,String password,String emailadress*/public static void adduser(String name,String sex,String age,String id,String password,String emailadress) throws SQLException{String Database="myapp";String sql="INSERT INTO myapp_user (name,sex,age,id,password,emailadress) VALUES (?,?,?,?,?,?)";Connection connection=getConn(Database);if (connection!=null){try {PreparedStatement ps=connection.prepareStatement(sql);if (ps!=null){ps.setString(1,name);ps.setString(2,sex);ps.setString(3,age);ps.setString(4,id);ps.setString(5,password);ps.setString(6,emailadress);//执行语句,注意!!!如果你的SQL 语句是诸如update,insert的更新语句,应该用statement的execute()方法// select用的是statement的executeQuery()ps.execute();connection.close();ps.close();}} catch (SQLException e) {e.printStackTrace();}}}public static void updatepassword(String id,String newpassword) throws SQLException{String Database="myapp";String sql="UPDATE myapp_user SET password=? where id=?";Connection connection=getConn(Database);if (connection!=null){try {PreparedStatement ps=connection.prepareStatement(sql);if (ps!=null){ps.setString(1,newpassword);ps.setString(2,id);//执行语句,注意!!!如果你的SQL 语句是诸如update,insert的更新语句,应该用statement的execute()方法// select用的是statement的executeQuery()ps.execute();connection.close();ps.close();}} catch (SQLException e) {e.printStackTrace();}}}/** 读取指定的值* 输入id 键*/public static String sele_userinfo(String id,String key) throws SQLException {String value = null;String Database="myapp";String sql="SELECT "+key+" FROM myapp_user WHERE id=?";Connection connection=getConn(Database);if (connection!=null){try {PreparedStatement ps=connection.prepareStatement(sql);if (ps!=null){ps.setString(1,id);ResultSet rs=ps.executeQuery();if(rs!=null) {int count =rs.getMetaData().getColumnCount();while   (rs.next()){for (int i=1 ;i<=count;i++){String field=rs.getMetaData().getColumnName(i);     value=rs.getString(field);System.out.println("the database value is:"+value); }}}}} catch (SQLException e) {e.printStackTrace();}}return value;}/** 检查id'是否存在* 传入id*/public static int hasId(String id) throws SQLException {String Database="myapp";String value;String sql="select id from myapp_user";System.out.println("the input id is :"+id);Connection connection=getConn(Database);if (connection!=null){try {PreparedStatement ps=connection.prepareStatement(sql);if (ps!=null){ResultSet rs=ps.executeQuery();if(rs!=null) {int count =rs.getMetaData().getColumnCount();while   (rs.next()){for (int i=1 ;i<=count;i++){String field=rs.getMetaData().getColumnName(i);     value=rs.getString(field);System.out.println("the database id is:"+value); if(value.equals(id)){                            return 1;}}}}}} catch (SQLException e) {e.printStackTrace();               }   }return 0;}
}

四,效果图

登录页面

注册


在终端查看数据库,数据保存成功

登录成功!

整个工程文件下载:
链接: https://pan.baidu.com/s/1jq4LoetVdoksjjjGQeb4MA 提取码: 33xw 复制这段内容后打开百度网盘手机App,操作更方便哦
2020.3.16

参考文章

Eclipse创建java Web项目工程

Java web 服务器连接MySQL数据库代码相关推荐

  1. android与mysql数据库同步_android开发 如何通过web服务器访问MYSQL数据库并且使其数据同步到android SQLite数据库?...

    通过web服务器访问MYSQL数据库有以下几个过程: 1.在MySql下创建自己的数据库和自己的表单 2.连接数据库. 3.访问数据库 1.创建web工程 (服务器端) 在Myeclipse下新建一个 ...

  2. php代码连接mysql数据库,php连接mysql数据库代码

    php连接mysql数据库代码 复制代码 代码如下: mysql_connect("localhost", "root","1981427" ...

  3. ASP.NET Core Web项目连接MySQL数据库

    作者在新建了一个ASP.NET Core Web项目的基础上,想连接本地的Mysql数据库,参考了很多博客,各种各样的说法都有,多少让人有感凌乱!自己最后捣鼓成功了!所以写一篇博客,以便后人查阅! 操 ...

  4. jaba窗体连接mysql增删改查_知识实现——Java使用jdbc连接MySql数据库,实现增删改查...

    Java使用jdbc连接MySql数据库,实现增删改查 首先,导入MySql连接数据库的jar包,我用的是 mysql连接jar包 DB类,用于获得数据库连接 import java.sql.Driv ...

  5. java jdbc 连接mysql数据库,Java 通过JDBC连接Mysql数据库

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...

  6. java maven项目连接mysql数据库

    实现maven项目连接mysql数据库 在maven项目下新建class文件,编辑该文件,部分具体代码如下: import java.sql.Connection; import java.sql.D ...

  7. java写一个窗体并连接MySQL_大神帮忙写一个简单地java页面,连接MySQL数据库之后能够显示数据库上的数据...

    展开全部 用jdbc 连接mysql数据库就行了,网上搜下一大把. --记得在classpath下加入mysql 的jdbc驱动包. /** * @author :来e68a84e8a2ad32313 ...

  8. eclipse中的web项目连接MySQL数据库

    这篇文章写自本人大三学习Java web,为了连接这个MySQL结果摸了一天,人都连接连麻了 首先是eclipseEE的下载 点此下载 不要点击那个DOWNLOAD,直接点击那个文件,或者使用其他镜像 ...

  9. JAVA使用JDBC连接MySQL数据库

    首先要下载Connector/J地址:http://www.mysql.com/downloads/connector/j/ 这是MySQL官方提供的连接方式: 解压后得到jar库文件,需要在工程中导 ...

最新文章

  1. 深度 | AI掘金,非富即亡
  2. ILockBytes Windows Mobile 6.5
  3. 13.4 常见的时期类和Math类
  4. org.springframework.jdbc.core.JdbcTemplate 无法import原因分析
  5. error when defining a rule - SAP loyalty management的积分定义规则
  6. CentOS 6.5安装VNC server
  7. 【经典回放】多种语言系列数据结构算法:二叉树(C#版)
  8. 前端学习(3210):react中类中方法的this指向二
  9. java web后台_java web 后台那些事
  10. 开发技术--设计模式
  11. 协程(Python)
  12. python能做什么项目-适合Python 新手的5大练手项目,你练了么?
  13. potplayer连续播放视频时保持原有屏幕大小不变
  14. VIM Is More Than Enough For Programer
  15. 模板方法模式--我们一起下饺子
  16. 运营商大数据怎么获客的?一篇文章告诉你
  17. 亿道信息丨手持PDA丨三防加固手机丨高频RFID丨电商仓库高效管理
  18. Add couter , msn qq online status
  19. HTTP Status code(状态码)和 Status text(状态文本)
  20. Ubuntu系统配置花生壳内网穿透

热门文章

  1. 当 el-form 组件下只有一个 el-input 组件时,按回车键会导致页面刷新
  2. 各大技术团队博客[新]
  3. (CZ深入浅出Java基础)反射
  4. 小米AI推理框架MACE介绍
  5. OKHttp3 快速开始
  6. 2020-01-31
  7. Jmeter的Response Body中返回乱码/问号,当所有的方法都试了还是不行,可以尝试下面的方法
  8. 02《软件需求模式》
  9. Learning with Noisy Label
  10. (二) 使用Detours调试远程线程注入的dll