[SSM网上书店基础与实践]-01项目总览+数据库连接

216 阅读3分钟

一、项目介绍

本项目中使用到的工具:

JDK、IDEA、MySQL、JavaWeb、Sping/SpringMVC/MyBatis、maven、Spring Boot...

二、MySQL的使用

1、工具

数据库

主流MySQL版本为5.x和8.x(本项目使用5.5版本)。 这里提供一种简便的数据库使用方式(所有资料在文末放置在网盘连接里):

image.png

免安装版,解压即可使用(前提:电脑中没有之前的MySQL残留)。注意路径

image.png

运行主程序

image.png

启动MySQL

image.png

MySQL客户端工具

image.png

连接MySQL服务器

image.png

2、MySQL操作

学生信息表

image.png

课程信息表

image.png

成绩信息表

image.png

数据库基础语法

添加数据

insert into 表名(列1,列2,...) values(值1,值2,...)

image.png

修改数据

update 表名 set1=1,列2=2,...where 条件

image.png

删除数据

delete from 表名 where 条件

image.png

查询数据

select * from 表名 where 分组前条件

       group by 分组依据

       having 分组后筛选

       order by 排序

       limit 限定行数

image.png

3、小结

增删改,修改了表数据,结果是受影响的行数,对应了java中int

查询,没有修改表数据,结果是一张临时表,对用了java中的ResultSet

三、JDBC,使用java控制MySQL得到结果

1、添加MySQL驱动

在项目目录下新建lib文件夹

image.png

点击file->Project Structure->Modules

image.png

image.png

选中刚创建的lib目录,用来存放项目需要用到的jar包

image.png

image.png

image.png

之后用到的时候将jar包放入bin目录即可

image.png

2、测试与数据库的连通性

添加

public class Add {
    public static void main(String[] args) throws Exception{
        // 加载jdbc驱动
        Class.forName("com.mysql.jdbc.Driver");
        // 建立数据库连接
        Connection conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/school","root","root");
        // 编写sql语句
        String sql="insert into course(cno,name,type,contents,point) values('k72','SSM','java类','框架',9)";
        // 预执行
        PreparedStatement ps=conn.prepareStatement(sql);
        // 执行sql语句
        int flag=ps.executeUpdate();    //增删改都用executeUpdate()
        //关闭连接
        ps.close();
        conn.close();
        //观察结果
        System.out.println(flag);
    }
}

image.png

修改

public class Upd {
    public static void main(String[] args) throws Exception{
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/school","root","root");
        String sql="update course set name='SSM+分布式' where id=8";
        PreparedStatement ps=conn.prepareStatement(sql);
        int flag=ps.executeUpdate();
        ps.close();
        conn.close();
        System.out.println(flag);
    }
}

image.png

image.png

删除

public class Del {
    public static void main(String[] args) throws Exception{

        Class.forName("com.mysql.jdbc.Driver");
        Connection conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/school","root","root");
        String sql="delete from course where id=10";
        PreparedStatement ps=conn.prepareStatement(sql);
        int flag=ps.executeUpdate();
        ps.close();
        conn.close();
        System.out.println(flag);
    }
}

image.png

image.png

查询(带参数)

public class Sel {
    public static void main(String[] args) throws Exception{
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/school","root","root");
        //问号占位符,可以传递参数
        String sql="select * from course where point=? and type=?";
        PreparedStatement ps=conn.prepareStatement(sql);
        //设定参数内容,可以有多个问号,索引从1开始
        ps.setInt(1,6);//设定第一个问号为int类型,值为6
        ps.setString(2,"java类");//设定第一个问号为String类型,值为“java类”
        //得到结果集
        ResultSet rs=ps.executeQuery();
        //遍历结果集
        while(rs.next()){//只要有下一行,就循环遍历
            //一次遍历一行
            //编号,int
            System.out.print(rs.getInt("id")+"\t");
            //名称
            System.out.print(rs.getString("name")+"\t");
            //学分
            System.out.print(rs.getInt("point")+"\n");
        }
        rs.close();
        ps.close();
        conn.close();
    }
}

image.png

写在最后: 算是新开的一个专题,这几天应该会一直更新,算是对自己技术的一个总结和强化,也算是记录一下大学除毕设之外的完整的项目。(我也不知道我的黑色背景的图片怎么到了这里变的有点虚化了,到时候看发布完成之后会不会有好转,还有我在项目最后使用的其实是project中的一个module,因为总创建project占内存,打开也慢。好啦,大家加油!)

网盘链接:链接: pan.baidu.com/s/1ONk89ArB… 提取码: hm5r