admin管理员组文章数量:1794759
Java连接MySQL数据库步骤
Java连接MySQL数据库步骤
声明,只推荐你看代码学会我的步骤,逻辑,还有用的所有方法
第一,
安装mysql数据库配置(www.jianshu/p/ea4accd7afb4),安装还有配置教程,按照步骤来肯定没错,里面是win10的mysql解压版安装教程,设置账号密码是一定要注意 :账号一般为root,密码一般为 123456 ,如果你要更改的话一定要记住,因为后面连接需要用到(切记),如果忘了会很麻烦。
第二,
如果是新手的话推荐学一下mysql的语法,认真的话一个星期学会绝对没问题(菜鸟教程网站),学会基本的查询当前电脑有的数据库,使用数据库,创建数据库,创建表,查看数据库中的表,还有对表的增删改查语法,新手不推荐使用视图软件,要记住操作mysql的代码,可以先在 cmd 黑框框中写操作数据库的代码。
如果要用视图软件的话推荐下一个navicat破解版,自己用可以,不能商用。
第三,
下来就要用java编译器连接数据库了(java连接数据库又叫JDBC)。
mysql提供的第三方java包,里面配置了连接java连接mysql的默认配置和驱动
链接:pan.baidu/s/1Z_ztiTEGloX7r3ilZoZsCg 提取码:0f1s
创建项目-> 创建文件夹起名为lib(把上面下载的包复制到lib文件夹下,直接复制粘贴就好了)-> 鼠标右击复制过来的包导入项目导为jar包(在后面写连接代码时可以直接用)->
导入成功是这样子
创建两个包,一个存放连接数据库的代码,一个存放数据库中的表信(pojo)com.pojo在这个包里创建的类用来存放你的表中字段,存放实体类,必须满足javaBean(一个表就是一个类,类中属性就是表中字段)
连接步骤(这个很重要)(代码中都有注释):1.导jar包,前面已经导过了
2.在连接类里写代码,加载mysql驱动(要写在代码块里,因为要连接必须最先加载驱动),代码块在加载类时就执行,在构造方法之前(注意是代码块{},不是方法)
//连接信 private String userName = "root";//这里是你最开始刚下载mysql是输入的账号 private String password = "123456";//这里是你最开始mysql设置的密码, private String url = "jdbc:mysql://localhost:3306/testdatabase"; //数据库连接信, //第一个是java连接数据库协议,中间的是要连接的ip地址和端口号,localhost是本地ip,后面的是你要连接的数据库的名字,我要连接数据库的名字叫testdatabase { try { //这里不用更改,如果你要连的不是mysql的话再换这个括号内的代码 Class.forName("com.mysql.jdbc.Driver"); System.out.println("驱动加载成功!"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block System.out.println("加载失败!"); e.printStackTrace(); } }3.创建连接数据库(这里在构造方法里连接)
public DataBaseConnection() { // TODO Auto-generated constructor stub try { this.connection = DriverManager.getConnection(url, userName, password);//把上面的三个属性传过来,应该就连接成功了,不成功的话应该就是你的账号密码不正确 System.out.println("数据库连接成功!"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("连接失败!"); } }4.第四步就是操作数据库了
这里写一个往数据库里增加数据的代码
创建方法名叫insert
先想步骤
1.写sql语句(就是你们在菜鸟教程里学的sql语句),菜鸟教程是个非常好的网站
2.从连接中获得操作数据库句柄
3.设置参数
4.就是执行sql语句了
//这里传一个类对象参数Emp emp,就相当于String str 差不多 //都是引用数据类型,类,数组,接口 public void insert(Emp emp){ //1.写sql语句 String str = "INSERT emp VALUES (?,?,?,?,?,?,?,?)"; PreparedStatement ps = null; //2.获取操作数据库句柄 try { //把操作数据库返回的结果保存到ps中 ps = connection.prepareStatement(str);
//3.设置参数 ps.setInt(1, emp.getEmpno()); ps.setString(2, emp.getEname()); ps.setString(3, emp.getJob()); ps.setInt(4, emp.getMgr()); ps.setDate(5, emp.getDate()); ps.setInt(6, emp.getSal()); ps.setInt(7, emp.getComm()); ps.setInt(8, emp.getDeptno()); //4.执行sql语句 int len = ps.executeUpdate(); System.out.println("修改成功,共影响了"+ len +"行!"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(ps != null){ try { ps.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } //关闭数据库的方法 public void closeConnection(){ if(connection != null){ try { connection.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }我的Emp类,就是我存放数据库中emp表中字段的类(你要按照你的数据库中字段来创建类)
private Integer empno;//因为Integer类型可以判断是否为空 private String ename; private String job; private Integer mgr; private Date hiredate; private Integer sal; private Integer comm; private Integer deptno;
public Emp() { // TODO Auto-generated constructor stub } //创建有参构造方法,方便赋值 public Emp(Integer empno, String ename, String job, Integer mgr, Date hiredate, Integer sal, Integer comm, Integer deptno) { super(); this.empno = empno; this.ename = ename; this.job = job; this.mgr = mgr; this.hiredate = hiredate; this.sal = sal; thism = comm; this.deptno = deptno; } public Integer getEmpno() { return empno; } public void setEmpno(Integer empno) { this.empno = empno; } public String getEname() { return ename; } public void setEname(String ename) { this.ename = ename; } public String getJob() { return job; } public void setJob(String job) { this.job = job; } public Integer getMgr() { return mgr; } public void setMgr(Integer mgr) { this.mgr = mgr; } public Date getHiredate() { return hiredate; } public void setHiredate(Date hiredate) { this.hiredate = hiredate; } public Integer getSal() { return sal; } public void setSal(Integer sal) { this.sal = sal; } public Integer getComm() { return comm; } public void setComm(Integer comm) { thism = comm; } public Integer getDeptno() { return deptno; } public void setDeptno(Integer deptno) { this.deptno = deptno; } //重写toString方法,方便测试,因为输出的是一个对象的话,java默认调用toString方法 @Override public String toString() { return "Emp [empno=" + empno + ", ename=" + ename + ", job=" + job + ", mgr=" + mgr + ", date=" + hiredate + ", sal=" + sal + ", comm=" + comm + ", deptno=" + deptno + "]"; }最后创建一个测试类(Test),包含main方法,在main方法里写
DataBaseConnection dbs = null; try{ //创建连接数据库类对象 dbs = new DataBaseConnection(); //创建你的表类对象,表类对象就是你存放在pojo中的类,存放表中字段的类,例如我的类为Emp //把类中的属性赋值 Emp emp = new Emp(8889, "刘备", "股东", 0, new Date(System.currentTimeMillis()), 110, 1000000, 100); //调用你写的insert类,里面把类对象传进去 dbs.insert(emp); }finally{ //奥,对了,为了防止资源浪费,不管你程序执没执行成功,你都必须关闭数据库 //需要在你的连接类中写一个关闭数据库的方法 //上面的代码中我又添加上了,就不用你写了 dbs.closeConnection(); }最后你再查看你数据库中表中数据应该就插入了一条记录。
再次强调,只推荐你看代码学会我的步骤,逻辑,还有用的所有方法,千万不要拷贝拿去用,因为就算你跟我的一模一样,你还是不懂。
如果学习过程中有什么麻烦就请加我qq交流。
作者qq:1271224158
版权声明:本文标题:Java连接MySQL数据库步骤 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686768446a100250.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论