黑马2024AI+JavaWeb开发入门Day06-JDBC-Mybatis飞书作业

视频地址:哔哩哔哩

讲义作业飞书地址:day06作业

基础性作业,加油!

1、SQL语句的编写

-- 1. 查询所有的性别为男(gender 为 1)的 讲师 (job 为 2) , 并根据入职时间, 对员工进行升序排序
select * from emp where gender = 1 and job = 2 order by entry_date asc;

-- 2. 根据 入职时间 对公司的员工进行 升序排序 , 入职时间相同 , 再按照 ID 进行降序排序
select * from emp order by entry_date asc,id desc;

-- 3. 查询性别为男(gender 为 1) 且 薪资大于 6000 的员工, 并根据 入职时间 对公司的员工进行 升序排序 , 入职时间相同 , 再按照 ID 进行降序排序
select * from emp where gender = 1 and salary > 6000 order by entry_date asc ,id desc ;

-- 4. 查询性别为男(gender 为 1)的员工 且 在 '2005-10-01' 至 '2018-10-01' 之间入职的员工, 并根据 入职时间 对公司的员工进行 升序排序 , 入职时间相同 , 再按照 ID 进行降序排序
select * from emp where gender = 1 and (entry_date between '2005-10-01' and '2018-10-01') order by entry_date asc ,id desc;

-- 5. 查询姓 '阮' 且 在 '2010-10-01' 之后入职的员工, 并根据入职时间进行升序排序, 并对结果分页操作, 展示第1页员工数据, 每页展示5条记录
select * from emp where name like '阮%' and entry_date > '2010-10-01' order by entry_date asc limit 5;

2、通过JDBC程序,基于预编译SQL,执行更新操作

@Test
    public void testUpdate() throws ClassNotFoundException, SQLException {
        //1.注册驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //2.获取数据库连接
        String url = "jdbc:mysql://localhost:3306/web01";
        String username = "root";
        String password = "moon";

        String sql = "update user set password = ?, name = ?, age = ? where id = ?";
        PreparedStatement ps = DriverManager.getConnection(url, username, password).prepareStatement(sql);
        ps.setString(1,"haveagoodluck");
        ps.setString(2,"关羽");
        ps.setInt(3,32);
        ps.setInt(4,4);
        int i = ps.executeUpdate();
        System.out.println(i);
        ps.close();
    }

3、通过JDBC程序,基于预编译SQL,执行查询语句

@Test
    public void select() throws ClassNotFoundException, SQLException {
        //1.注册驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //2.获取数据库连接
        String url = "jdbc:mysql://localhost:3306/web01";
        String username = "root";
        String password = "moon";

        String sql = "select id,username,password,name,age from user where age >= ? and id <= ?";
        PreparedStatement ps = DriverManager.getConnection(url, username, password).prepareStatement(sql);
        ps.setInt(1,20);
        ps.setInt(2,4);

        ResultSet rs = ps.executeQuery();
        while (rs.next()) {
            User user = new User(
                    rs.getInt("id"),
                    rs.getString("username"),
                    rs.getString("password"),
                    rs.getString("name"),
                    rs.getInt("age")
            );
            System.out.println(user);
        }
        rs.close();
        ps.close();
    }

4、导入项目,基于Mybatis完成SQL语句实现

①导入项目:将文件解压后放在目录里,然后导入xml文件

②创建数据库,创建表

③实现SQL语句(注意更改数据库连接信息,密码更改为自己的,url更改为对应数据库)

  • StudentMapper.java
package com.itheima.mapper;

import com.itheima.pojo.Student;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

@Mapper
public interface StudentMapper {
    @Select("select * from student")
    public List<Student> findAll();

    @Insert("insert into student values(null,#{name},#{no},#{gender},#{phone},#{idCard},#{degree},#{graduationDate},#{createTime},#{updateTime})")
    public void insert(Student s);

    @Update("update student set no = #{no}, phone = #{phone}, id_card = #{idCard} where id = #{id}")
    public void update(Student s);

    //下面两个基于XML配置SQL
    public Student findById(Integer id);

    public void deleteById(Integer id);

}
  • StudentMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.itheima.mapper.StudentMapper">
    <!--resultType:查询返回的单条记录所封装的类型-->
    <select id="findById" resultType="com.itheima.pojo.Student">
        select * from student where id = #{id}
    </select>
    <select id="deleteById" resultType="com.itheima.pojo.Student">
        delete from student where id = #{id}
    </select>

</mapper>
  • SpringBootMybatisApplicationTests.java
package com.itheima;

import com.itheima.mapper.StudentMapper;
import com.itheima.pojo.Student;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
public class SpringBootMybatisApplicationTests {
    @Autowired
    public StudentMapper studentMapper;

    @Test
    public void testFindAll(){
        studentMapper.findAll().forEach(System.out::println);
    }

    @Test
    public void testInsert(){
        Student s = new Student(null, "小明", "2019011", 1, "13888888888", "123456789012345678", 1, null, null, null);
        studentMapper.insert(s);
    }

    @Test
    public void testUpdate(){
        Student s = new Student(12, "小明", "2019012", 1, "13888889998", "123456789012345789", 1, null, null, null);
        studentMapper.update(s);
    }

    @Test
    public void testFindById(){
        System.out.println(studentMapper.findById(5));
    }

    @Test
    public void testDeleteById(){
        studentMapper.deleteById(7);
    }

}

有问题可以私信我或者评论~

### 黑马程序员 JavaWebAI 的课程及资料 目前提供的引用主要集中在黑马程序员的 JavaWeb 开发相关内容,涉及的技术栈包括但不限于 Servlet、Axios、Vue、Element UI、Maven 和 MyBatis 等技术[^1]。然而,在这些引用中并未提及具体针对 **JavaWeb 结合 AI** 的课程或资料。 #### 关于 JavaWebAI 的结合 在现代软件开发领域,AI 技术的应用越来越广泛,尤其是在 Web 应用程序中。以下是可能的方向以及如何将其融入到现有的 JavaWeb 学习路径中的建议: 1. **自然语言处理 (NLP)** 可以通过引入 NLP 工具库(如 Stanford CoreNLP 或 OpenNLP),实现聊天机器人或其他文本分析功能,并将其集成到基于 Java 的 Web 应用中[^2]。 2. **机器学习模型部署** 使用 TensorFlow Serving 或 ONNX Runtime 部署预训练好的机器学习模型,并通过 RESTful API 接口调用这些服务。这可以通过 Spring Boot 实现更高效的微服务架构支持[^3]。 3. **图像识别与计算机视觉** 如果项目需求涉及到图片上传和分类等功能,则可以考虑利用深度学习框架(比如 PyTorch 或 Keras)完成相关任务后再返回给前端展示结果[^4]。 #### 示例代码片段:Spring Boot 中调用外部 ML 模型的服务端接口 假设我们有一个已经训练完毕并发布为 HTTP 请求形式可用的人脸检测API,下面是如何从后端发起请求的一个简单例子: ```java import org.springframework.web.client.RestTemplate; public class AiService { private final RestTemplate restTemplate = new RestTemplate(); public String detectFace(String imageUrl){ String url = "http://example.com/api/detect_face?url=" + imageUrl; return this.restTemplate.getForObject(url,String.class); } } ``` 尽管当前所列参考资料未直接提到有关人工智能方面的教学内容,但可以根据上述思路探索更多可能性。同时也可以关注官方发布的最新动态或者咨询客服了解是否有新增设的相关专题培训计划。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值