首页 > 作文

MySQL安装与idea的连接实现

更新时间:2023-04-04 10:24:09 阅读: 评论:0

mysql安装与idea的连接

--编辑my.ini配置文件内容(mysql 8.0以上不需要,直接安装即可)[mysql]# 设置mysql客户端默认字符集default-character-t=utf8 [mysqld]#设置3306端口port = 3306 # 设置mysql的安装目录badir=e:\mysql5.7.13\mysql-5.7.13-winx词牌名64# 设置mysql数据库的数据的存放目录datadir=e:\mysql5.7.13\mysql-5.7.13-winx64\data# 允许最大连接数max_connections=200# 服务端使用的字符集默认为8比特编码的latin1字符集character-t-rver=utf8# 创建新表时将使用的默认存储引擎default-storage-engine=innodb# 安装好后, 免密码进入mysqlskip-grant-tables--用管理员身份运行cmd,输入命令//安装mysqlmysqld -install //安装成功后,初始化数据文件mysqld --initialize-incure --ur=mysql//进入mysql管理界面mysql -u root-p//修改密码update mysql.ur t password=password('新密码') where ur='root';//mysql8修改密码alter ur 'root'@'localhost' identified by '密码'

mysql与idea进行连接

1.导入数据库驱动

点击连接进行下载:(mysql驱动)

https://github.com/epochong/mysql-connector-java-8.0.16.git

下载后在idea目录下新建lib目录,将下载好的驱动移动到lib目录下,并右击点击添加为库,再次点击驱动文件,若能展开,则驱动安装成功。

连接过程若出现驱动问题,需要注意查看驱动是否添加为库,英文版(add as library),查看驱动版本的问题(下载驱动需要对应与数据库,例mysql下载mysql驱动,sql rver下载的是sql rver驱动,查看是否在同一包下,有时候不在同一包下会找不到驱动)。

2.连接数据库(最基本的连接方法)

package jdbc_exci;import java.sql.*;public class jdbc {    public static void main(string[] args) throws sqlexception {        try {            class.forname("com.mysql.jdbc.driver");            string url = "jdbc:mysql://localhost:3306/student?uunicode=true&characterencoding=utf8&ussl=fal";            //通用模板:jdbc:数据库名字://地址:端口/实际使用数据库名称?附加参数            string urname = "root";            string password = "123456";           connection connection = drivermanager.getconnection(url,urname,password);           statement statement = connection.createstatement();            //执行sql查询语句           string sql = "lect * from student";           resultt resultt = statement.executequery(sql);           while (resultt.next()){               system.out.println("sno="+resultt.getobject("sno"));          }           resultt.clo();           statement.clo();           connection.clo();        } catch (classnotfoundexception e) {            e.printstacktrace();        }    }}

**附狂神教程中安全连接解决办法 **

jdbc:mysql://localhost:3306/student?uunicode=true&characterencoding=utf8&ussl=fal

若mysql版本高于驱动版本,则需要将安全连接置为fal;置为true会报错。

封装工具类连接数据库

编写配置文件

--新建配置文件:db.properties--driver=com.mysql.jdbc.driverurl=jdbc:mysql://localhost:3306/student?uunicode=true&characterencoding=utf8&ussl=falurname=rootpassword=123456

封装工具类

package connect_jdbc.utils;import java.io.ioexception;import java.io.inputstream;import java.sql.*;import java.util.properties;public class jdbcutils {    private  static string driver = null;;    private static string url =null;    private static string urname = nnokia 800cull;    private static  string password = null;    static {        try{            //通过反射得到配置文件中的内容           inputstream in = jdbcutils.class.getclassloader().getresourceasstream("db.properties");            properties properties=new properties();            properties.load(in);            driver = properties.getproperty("driver");            url = properties.getproperty("url");            urname = properties.getproperty("urname");            password = properties.getproperty("password");            //加载一次驱动             class.forname(driver);        } catch (ioexception e) {            e.printstacktrace();        } catch (classnotfoundexception e) {            e.printstacktrace();        }    }    //获取连接    public static connection getconnection() throws sqlexception {        return drivermanager.getconnection(url,urname,password);    }    //释放连接    public static  void relea(connection conn, statement st, resultt rs){        if(rs!=null){            try {                rs.clo();            } catch (sqlexception throwables) {                throwables.printstacktrace();            }        }        if(st!=null){            try {                st.clo();            } catch (sqlexception throwables) {                throwables.printstacktrace();            }        }        if(conn!=null){            try {                conn.clo();            } catch (sqlexception throwables) {                throwables.printstacktrace();            }        }    }}

编写测试类执行sql语句

//执行executeupdate语句,实现增删改package connect_jdbc.utils;imphp中国ort java.sql.connection;import java.sql.resultt;import java.sql.sqlexception;import java.sql.statement;public class jdbctest {    public static void main(string[] args) throws sqlexception {        connection connection =null;        statement st = null;        resultt rs =null;        try {            connection = jdbcutils.getconnection();        } catch (sqlexception throwables) {            throwables.printstacktrace();        }        st = connection.createstatement();        string sql = "inrt  into  student (sno, sname, sx, sclass, stel, sgroup, spassword)" +                "values (1907040136,'贺子奇','男','1900144','15735116626',3,'123456')";        int i = st.executeupdate(sql);//返回值为整型,表示有几行受影响        if(i>0){            system.out.println("插入成功山东医院排名!");        }        jdbcutils.relea(connection,st,rs);    }}

执行lect语句

//执行executequery语句,实现查找package connect_jdbc.utils;import java.sql.connection;import java.sql.resultt;import java.sql.sqlexception;import java.sql.statement;public class jdbclect {    public static void main(string[] args) {        connection connection = null;        statement st = null;        resultt res = null;        try {            connection = jdbcutils.getconnection();            st = connection.createstatement();            string sqls = "lect * from student";            res = st.executequery(sqls);//返回值为查找的结果集            while (res.next())//进行结果集的输出            {                system.out.println(res.getobject("sno")+" "+res.getobject("sname"));            }        } catch (sqlexception throwables) {            throwables.printstacktrace();        }        jdbcutils.relea(connection,st,res);    }}

sql注入的问题及解决

问题描述:在使用statement函数执行sql操作时,当输入sql语句为:’ ‘or’1=1’或者’ ‘or’values>0’时则会发生恒等于从而绕过查询语句,会发生将结果集绕过密码查询出来,从而形成安全威胁。

解决办法

将原先的statement函数改用preparedstatement函数,避免了sql注入,查询效率更高

示例:

package connect_jdbc.utils;import java.sql.connection;import java.sql.preparedstatement;import java.sql.resultt;import java.sql.sqlexception;public class jdbctest {    public static void main(string[] args) {        connection connection =null;        preparedstatement statement = null;        resultt res = null;        try {            connection = jdbcutils.getconnection();            //与statement的区别,要使用?占位符代替参数,进行一次预编译            string sql = "inrt  into  student (sno, sname, sx, sclass, stel, sgroup, spassword)" +                    "values (?,?,?,?,?,?,?)";            //手动给每一个参数(?)赋值            statement=connection.preparestatement(sql);            statement.tstring(1,"1907040124");            statement.tstring(2,"薛晓军");            statement.tstring(3,"男");            statement.tstring(4,"19070144");            statement.tstring(5,"15735116626");            statement.tstring(6,"3");            statement.tstring(7,"123456");//执行            int i = statement.executeupdate();            if(i>0)            {                system.out.println("插入成功!");           山城是哪个城市 }        } catch (sqlexception throwables) {            throwables.printstacktrace();        }        jdbcutils.relea(connection,statement,res);    }}

到此这篇关于mysql安装与idea的连接实现的文章就介绍到这了,更多相关mysql安装与idea连接内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

本文发布于:2023-04-04 10:24:07,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/8be2abc8d9a98da090607036e9bfe974.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:MySQL安装与idea的连接实现.doc

本文 PDF 下载地址:MySQL安装与idea的连接实现.pdf

相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图