From baa561a792e605b6d16a64860ac0ea12d0d8a1b2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=82=B9=E4=BA=A8=E4=BC=9F?= <529310475@qq.com>
Date: Mon, 25 Dec 2023 23:19:40 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8D=81=E4=BA=8C=E6=9C=88=E4=BA=8C=E5=8D=81?=
=?UTF-8?q?=E4=BA=94=E5=8F=B7=E4=BD=9C=E4=B8=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../20231225.md" | 476 ++++++++++++++++++
1 file changed, 476 insertions(+)
create mode 100644 "11 \351\202\271\344\272\250\344\274\237/20231225.md"
diff --git "a/11 \351\202\271\344\272\250\344\274\237/20231225.md" "b/11 \351\202\271\344\272\250\344\274\237/20231225.md"
new file mode 100644
index 0000000..20b5b97
--- /dev/null
+++ "b/11 \351\202\271\344\272\250\344\274\237/20231225.md"
@@ -0,0 +1,476 @@
+## 笔记
+
+1.导入maven环境
+
+ 2.创建dao接口,里面定了你需要对数据库执行什么操作
+
+ 3.编写mapper文件,sql映射文件,写上你的sql语句
+
+4.创建mybatis主配置文件,读取配置文件中的内容,连接到数据库
+
+5.使用mybatis对象执行sql语句:sqlSession对象
+
+6.关闭连接:sqlSession.close();
+
+~~~
+CREATE TABLE `t_user` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `username` varchar(255) DEFAULT NULL,
+ `password` varchar(255) DEFAULT NULL,
+ `email` varchar(255) DEFAULT NULL,
+ `phone` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+INSERT INTO `t_user`(`id`, `username`, `password`, `email`, `phone`) VALUES (1, 'admin', 'admin', 'admin@qq.com', '1008611');
+INSERT INTO `t_user`(`id`, `username`, `password`, `email`, `phone`) VALUES (2, 'root', 'root', 'root@qq.com', '1008622');
+INSERT INTO `t_user`(`id`, `username`, `password`, `email`, `phone`) VALUES (19, 'admin2', 'root2', 'root@qq.com2', '1008644');
+
+创建实体类
+
+public class User {
+ private Integer id;
+ private String username;
+ private String password;
+ private String email;
+ private String phone;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public String getPhone() {
+ return phone;
+ }
+
+ public void setPhone(String phone) {
+ this.phone = phone;
+ }
+
+ public User() {
+ }
+
+ public User(Integer id, String username, String password, String email, String phone) {
+ this.id = id;
+ this.username = username;
+ this.password = password;
+ this.email = email;
+ this.phone = phone;
+ }
+ @Override
+ public String toString() {
+ return "User{" +
+ "id=" + id +
+ ", username='" + username + '\'' +
+ ", password='" + password + '\'' +
+ ", email='" + email + '\'' +
+ ", phone='" + phone + '\'' +
+ '}';
+ }
+
+}
+
+创建maven项目
+
+
+
+ 4.0.0
+
+ org.example
+ mybatis
+ 1.0-SNAPSHOT
+
+
+ UTF-8
+ 1.9
+ 1.9
+
+
+
+
+
+ junit
+ junit
+ 4.11
+ test
+
+
+
+ mysql
+ mysql-connector-java
+ 8.0.19
+
+
+
+ org.mybatis
+ mybatis
+ 3.5.4
+
+
+
+ org.junit.jupiter
+ junit-jupiter
+ RELEASE
+ compile
+
+
+
+
+
+
+
+
+
+
+ src/main/java
+
+ **/*.properties
+ **/*.xml
+
+ false
+
+
+
+
+
+配置mybatis的主配置文件
+
+
+
+
+
+
+
+
+-->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+编写mybatis工具类
+
+public class MyBatisUtils {
+
+ private static SqlSessionFactory factory = null;
+
+ static {
+ //读取mybatis.xml配置文件
+ String config="mybatis.xml";
+ try {
+ //将配置文件加入到流中
+ InputStream in = Resources.getResourceAsStream(config);
+ //创建factory对象
+ factory = new SqlSessionFactoryBuilder().build(in);
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+
+ }
+ public static SqlSession getSqlSession(){
+ SqlSession sqlSession = null;
+ if (factory!=null){
+ //如果 factory!=null 就创建 sqlSession对象
+ sqlSession = factory.openSession(false);//非自动提交事务
+ }
+
+ return sqlSession;
+ }
+}
+定义接口
+
+public interface UserManagerDao {
+
+ /**
+ * 查询所有的数据 用于视图展示
+ * @return 返回一个List集合
+ */
+ public List queryUser();
+
+
+ /**
+ * 添加
+ * @param user 一个user对象
+ * @return 成功返回true 失败返回false
+ */
+ public Boolean addUser(User user);
+
+ /**
+ * 删除用户
+ * @param id 需要删除的用户id
+ * @return 成功返回true 失败返回false
+ */
+ public Boolean delUser(String id);
+
+ /**
+ * 修改用户信息
+ * @param user 需要一个user对象
+ * @return 成功返回true 失败返回false
+ */
+ public Boolean updateUser(User user);
+
+ /**
+ * 按照用户名查找用户
+ * @param name 需要查找的用户名
+ * @return 返回一个List集合
+ */
+ public List likeUser(String name);
+
+
+
+}
+xml文件
+
+
+
+
+
+
+
+
+
+
+ insert into t_user values(#{id},#{username},#{username},#{email},#{phone})
+
+
+
+ delete from t_user where id=#{id}
+
+
+
+ update t_user set username=#{username},password=#{password},email=#{email},phone=#{phone} where id=#{id}
+
+
+
+编写daoImpl
+
+
+public class UserManagerDaoImpl implements UserManagerDao {
+
+ /**
+ * 查询所有的数据 用于视图展示
+ *
+ * @return 返回一个List集合
+ */
+ @Override
+ public List queryUser() {
+ //获取sqlSession对象
+ SqlSession sqlSession = MyBatisUtils.getSqlSession();
+ String sqlId = "com.mybatis.dao.UserManagerDao.queryUser";
+ //执行sql语句
+ List userList = sqlSession.selectList(sqlId);
+ // sqlSession.commit(); //mybatis默认不会手动提交事务,在修改数据之后要 提交事务
+ //关闭连接
+ sqlSession.close();
+ return userList;
+ }
+
+
+ /**
+ * 添加
+ *
+ * @param user 一个user对象
+ * @return 成功返回true 失败返回false
+ */
+ @Override
+ public Boolean addUser(User user) {
+ //获取sqlSession对象
+ SqlSession sqlSession = MyBatisUtils.getSqlSession();
+ String sqlId = "com.mybatis.dao.UserManagerDao.addUser";
+ //执行sql语句
+ int updateCount = sqlSession.update(sqlId,user);
+ sqlSession.commit(); //mybatis默认不会手动提交事务,在修改数据之后要 提交事务
+ //关闭连接
+ sqlSession.close();
+ if(updateCount>0){
+ return true;
+ }else{
+ return false;
+ }
+
+ }
+
+ /**
+ * 删除用户
+ *
+ * @param id 需要删除的用户id
+ * @return 成功返回true 失败返回false
+ */
+ @Override
+ public Boolean delUser(String id) {
+ //获取sqlSession对象
+ SqlSession sqlSession = MyBatisUtils.getSqlSession();
+ String sqlId = "com.mybatis.dao.UserManagerDao.delUser";
+ //执行sql语句
+ int delete = sqlSession.delete(sqlId, id);
+ sqlSession.commit(); //设置为自动提交事务
+ //关闭连接
+ sqlSession.close();
+ if(delete>0){
+ return true;
+ }else {
+ return false;
+ }
+
+ }
+
+ /**
+ * 修改用户信息
+ *
+ * @param user 需要一个user对象
+ * @return 成功返回true 失败返回false
+ */
+ @Override
+ public Boolean updateUser(User user) {
+ //获取sqlSession对象
+ SqlSession sqlSession = MyBatisUtils.getSqlSession();
+ String sqlId = "com.mybatis.dao.UserManagerDao.updateUser";
+ //执行sql语句
+ int updateCount = sqlSession.update(sqlId,user);
+ sqlSession.commit(); //设置为自动提交事务
+ //关闭连接
+ sqlSession.close();
+ if(updateCount>0){
+ return true;
+ }else {
+ return false;
+ }
+
+ }
+
+ /**
+ * 按照用户名查找用户
+ *
+ * @param name 需要查找的用户名
+ * @return 返回一个List集合
+ */
+ @Override
+ public List likeUser(String name) {
+ SqlSession sqlSession = MyBatisUtils.getSqlSession();
+ String sqlId = "com.mybatis.dao.UserManagerDao.likeUser";
+ List userList = sqlSession.selectList(sqlId, name);
+ sqlSession.commit();
+ //关闭连接
+ sqlSession.close();
+ return userList;
+ }
+}
+Test类
+
+class UserManagerDaoImplTest {
+
+ UserManagerDaoImpl userManagerDao = new UserManagerDaoImpl();
+
+ @Test
+ void queryUser() {
+ List userList = userManagerDao.queryUser();
+ for (User user : userList) {
+ System.out.println(user);
+ }
+ }
+ @Test
+ void ListUser() {
+
+ SqlSession sqlSession = MyBatisUtils.getSqlSession();
+ UserManagerDao userDao = sqlSession.getMapper(UserManagerDao.class);
+ List userList = userDao.queryUser();
+ for (User user : userList) {
+ System.out.println(user);
+ }
+ }
+
+ @Test
+ void addUser() {
+ User user = new User(null,"admin","root","root@qq.com","1008644");
+ Boolean flag = userManagerDao.addUser(user);
+ System.out.println(flag);
+
+ }
+
+ @Test
+ void delUser() {
+ Boolean flag = userManagerDao.delUser("23");
+ System.out.println(flag);
+ }
+
+ @Test
+ void updateUser() {
+ User user = new User(19,"admin2","root2","root@qq.com2","1008644");
+ Boolean flag = userManagerDao.updateUser(user);
+ System.out.println(flag);
+ }
+
+ @Test
+ void likeUser() {
+ List userList = userManagerDao.likeUser("admin");
+ for (User user : userList) {
+ System.out.println(user);
+ }
+ }
+}
+~~~
+
--
Gitee