ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第三周总结

2021-04-08 10:57:23  阅读:127  来源: 互联网

标签:总结 username java demo 数据库 第三周 mybatis id


学习总结

1.MyBatis工程搭建
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
创建项目(配置文件,配置仓库)
在数据库准备数据
删除mybatis_demo数据库
drop database if exists mybatis_demo;
创建mybatis_demo数据库
create database mybatis_demo;
使用mybatis_demo数据库
use mybatis_demo;
创建account表
create table user (
id int auto_increment primary key,
username varchar(20),
age int,
score int
);
新增数据
insert into user (id, username, age, score) values
(1,‘peter’, 18, 100), (2,‘pedro’, 24, 200),
(3,‘jerry’, 28, 500), (4,‘mike’, 12, 300),
(5,‘tom’, 27, 1000);
连接数据库
引入MySQL驱动包
mysql
mysql-connector-java
8.0.23
编写代码
public class JDBCDemo {
public static void main(String[] args) throws Exception {
1.注册驱动
Class.forName(“com.mysql.cj.jdbc.Driver”);
2.获取连接
Connection connection = DriverManager.getConnection(“jdbc:mysql://localhost:3306/mybatis_demo”, “root”, “root”);
3.获取Statement对象
PreparedStatement preparedStatement = connection.prepareStatement(“select * from user WHERE id = ?”);
preparedStatement.setInt(1, 1);
4.执行SQL语句返回结果集
ResultSet resultSet = preparedStatement.executeQuery();
5.遍历结果集
while (resultSet.next()) {
System.out.println("username: " + resultSet.getString(“username”));
System.out.println("age: " + resultSet.getString(“age”));
}
6.释放资源
resultSet.close();
preparedStatement.close();
connection.close();
}
}

执行结果
username:peter
age:18
在这里插入图片描述

2.MyBatis操作数据库*
新建Maven项目名为“mybatis-operate-database“,设置好Maven版本、配置文件以及Maven仓库
entity包下创建User实体类:User.java带人方法
package entity;

public class User {
private Integer id;
private String username;
private Integer age;
private Integer score;
// 省略getter&setter方法
// 省略toString方法
}
dao包下创建User模块Dao层:UserDao.java
实现数据库的增删改查
package dao;
public interface UserDao {
/**

  • 通过用户id查询用户信
  • @param id
  • @return
    */
    User selectUserById(Integer id);
    }

在resources文件夹下新建mybatis-config.xml配置文件中添加上对应的mapper配置文件

在新建一个UserDao.xml配置文件 <?xml version="1.0" encoding="UTF-8" ?> SELECT * FROM user WHERE id = #{id} 新建User模块测试类:UserTest.java获取数据库数据查询 @SuppressWarnings({“Duplicates”}) public class UserTest { public static void main(String[] args) throws IOException, SQLException { // 读取配置文件 InputStream configuration = Resources.getResourceAsStream(“mybatis-config.xml”); // 得到 SqlSessionFactory 核心类 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration); // 开始一个 sql 会话 SqlSession session = sqlSessionFactory.openSession(); // 得到 Dao UserDao dao = session.getMapper(UserDao.class); // 调用通过用户id查询用户信息的方法 User user = dao.selectUserById(1); System.out.println(user); // 关闭会话 session.close(); } }
执行结果
在这里插入图片描述
下面就是实现多条数据的查询,
User模块Dao层配置文件:UserDao.xml,实现在数据库里面查询 SELECT * FROM user

SELECT * FROM user 在UserDao.java里面添加List selectUserList(); 在User模块下新建测试类:UserTest.java输入list List userList = dao.selectUserList(); userList.forEach(u -> System.out.println(u)); 执行结果:多条数据查询 修改数据库。 List userListBefore = dao.selectUserList(); userListBefore.forEach(u -> System.out.println(u)); // 调用删除用户信息的方法 int count = dao.deleteUserById(6); // 调用查询所有用户信息的方法 List userListAfter = dao.selectUserList(); userListAfter.forEach(u -> System.out.println(u)); 实现数据库的增删改查。
首先也需要给数据库准备数据

删除mybatis_demo数据库
drop database if exists mybatis_demo;

创建mybatis_demo数据库
create database mybatis_demo;

使用mybatis_demo数据库
use mybatis_demo;

创建account表
create table user (
id int auto_increment primary key,
username varchar(20),
age int,
score int
);

新增数据
insert into user (id, username, age, score) values
(1,‘peter’, 18, 100), (2,‘pedro’, 24, 200),
(3,‘jerry’, 28, 500), (4,‘mike’, 12, 300),
(5,‘tom’, 27, 1000);

一,注解方式使用Mapper
新建
mybatis-config.xml
UserMapper.java
UserTest.java
@SuppressWarnings({“Duplicates”})
public class UserTest {
public static void main(String[] args) throws IOException, SQLException {
// 读取配置文件
InputStream configuration = Resources.getResourceAsStream(“mybatis-config.xml”);
// 得到 SqlSessionFactory 核心类
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
// 开始一个 sql 会话
SqlSession session = sqlSessionFactory.openSession();
// 得到 mapper
UserMapper mapper = session.getMapper(UserMapper.class);
// 调用注解的SQL
String username = mapper.selectUsernameById(1);
System.out.println("username: " + username);
// 关闭会话
session.close();
}
}
执行结果
username:peter
age:18

二,XML方式使用Mapper
新建
mybatis-config.xml
UserMapper.java
UserMapper.xml
UserTest.java
在这里插入图片描述

3.forforEach循环及Lambda表达式
for(初始化; 判别式; 更新) {
代码语句

forEach循环
是java5的新特征之一,在遍历数组、集合方面,forEach为开发人员提供了极大的方便

forEach循环
是java5的新特征之一,在遍历数组、集合方面,forEach为开发人员提供了极大的方便

Lambda表达式
是java8的新特征之一,它使我们可以更方便地操作集合
forEach循环整合Lambda表达式后代码结构如下:
【遍历对象.forEach(元素变量 -> 代码语句);】

4.SpringMVC请求映射注解
Spring MVC 提供了以下这些请求映射注解:

请求映射注解 说明 类/方法

@RequestMapping 通用的请求处理 类

@GetMapping 处理 HTTP GET 请求 查询方法

@PostMapping 处理 HTTP POST 请求 新增修改方法

@PutMapping 处理 HTTP PUT 请求 新增修改方法

@PatchMapping 处理 HTTP PATCH 请求 新增修改方法

@DeleteMapping 处理 HTTP DELETE 请求 删除方法

除了 @RequestMapping ,其它类型的注解本质上是 @RequestMapping 的简写形式

比如 @GetMapping 其实可以写为@RequestMapping( method = RequestMethod.GET)

建议在类级别上只使用 @RequestMapping ,用于指定基本路径

而在每个方法上根据方法功能不同使用更具体的请求映射注解

目前接触最多的就只有@RequestMapping;

标签:总结,username,java,demo,数据库,第三周,mybatis,id
来源: https://blog.csdn.net/guxiaoche/article/details/115504859

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有