Java web 服务器连接MySQL数据库代码
文章目录
- 前言
- 一,建立工程
- 二,导入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数据库代码相关推荐
- android与mysql数据库同步_android开发 如何通过web服务器访问MYSQL数据库并且使其数据同步到android SQLite数据库?...
通过web服务器访问MYSQL数据库有以下几个过程: 1.在MySql下创建自己的数据库和自己的表单 2.连接数据库. 3.访问数据库 1.创建web工程 (服务器端) 在Myeclipse下新建一个 ...
- php代码连接mysql数据库,php连接mysql数据库代码
php连接mysql数据库代码 复制代码 代码如下: mysql_connect("localhost", "root","1981427" ...
- ASP.NET Core Web项目连接MySQL数据库
作者在新建了一个ASP.NET Core Web项目的基础上,想连接本地的Mysql数据库,参考了很多博客,各种各样的说法都有,多少让人有感凌乱!自己最后捣鼓成功了!所以写一篇博客,以便后人查阅! 操 ...
- jaba窗体连接mysql增删改查_知识实现——Java使用jdbc连接MySql数据库,实现增删改查...
Java使用jdbc连接MySql数据库,实现增删改查 首先,导入MySql连接数据库的jar包,我用的是 mysql连接jar包 DB类,用于获得数据库连接 import java.sql.Driv ...
- java jdbc 连接mysql数据库,Java 通过JDBC连接Mysql数据库
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...
- java maven项目连接mysql数据库
实现maven项目连接mysql数据库 在maven项目下新建class文件,编辑该文件,部分具体代码如下: import java.sql.Connection; import java.sql.D ...
- java写一个窗体并连接MySQL_大神帮忙写一个简单地java页面,连接MySQL数据库之后能够显示数据库上的数据...
展开全部 用jdbc 连接mysql数据库就行了,网上搜下一大把. --记得在classpath下加入mysql 的jdbc驱动包. /** * @author :来e68a84e8a2ad32313 ...
- eclipse中的web项目连接MySQL数据库
这篇文章写自本人大三学习Java web,为了连接这个MySQL结果摸了一天,人都连接连麻了 首先是eclipseEE的下载 点此下载 不要点击那个DOWNLOAD,直接点击那个文件,或者使用其他镜像 ...
- JAVA使用JDBC连接MySQL数据库
首先要下载Connector/J地址:http://www.mysql.com/downloads/connector/j/ 这是MySQL官方提供的连接方式: 解压后得到jar库文件,需要在工程中导 ...
最新文章
- 深度 | AI掘金,非富即亡
- ILockBytes Windows Mobile 6.5
- 13.4 常见的时期类和Math类
- org.springframework.jdbc.core.JdbcTemplate 无法import原因分析
- error when defining a rule - SAP loyalty management的积分定义规则
- CentOS 6.5安装VNC server
- 【经典回放】多种语言系列数据结构算法:二叉树(C#版)
- 前端学习(3210):react中类中方法的this指向二
- java web后台_java web 后台那些事
- 开发技术--设计模式
- 协程(Python)
- python能做什么项目-适合Python 新手的5大练手项目,你练了么?
- potplayer连续播放视频时保持原有屏幕大小不变
- VIM Is More Than Enough For Programer
- 模板方法模式--我们一起下饺子
- 运营商大数据怎么获客的?一篇文章告诉你
- 亿道信息丨手持PDA丨三防加固手机丨高频RFID丨电商仓库高效管理
- Add couter , msn qq online status
- HTTP Status code(状态码)和 Status text(状态文本)
- Ubuntu系统配置花生壳内网穿透