From 4ac7e04e0919d9cfa0cfbb9dc49f83cc9265fdc4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=A9=AC=E5=AE=8F=E8=BE=BE?= <2657224306@qq.com>
Date: Wed, 20 Dec 2023 12:18:07 +0800
Subject: [PATCH 1/2] zuoye
---
.../1220.md" | 40 +++++++++++++++++++
1 file changed, 40 insertions(+)
create mode 100644 "48 \351\251\254\345\256\217\350\276\276/1220.md"
diff --git "a/48 \351\251\254\345\256\217\350\276\276/1220.md" "b/48 \351\251\254\345\256\217\350\276\276/1220.md"
new file mode 100644
index 0000000..346754c
--- /dev/null
+++ "b/48 \351\251\254\345\256\217\350\276\276/1220.md"
@@ -0,0 +1,40 @@
+# 笔记
+
+项目名称
+
+ --pom.xml 核心配置,项目根下
+
+ --src
+
+ --main
+
+--java java源码目录
+
+ --resources java配置文件目录
+
+ --test
+
+--java 源码测试目录
+
+--resource 测试配置目录
+
+**7.1 compile** compile是maven工程的编译命令,作用是将 src/main/java 下的文件编译为 class 文件输出到 target 目录下。 **7.2 test** test是maven工程的测试命令,会执行 src/test/java 下的单元测试类。 cmd 执行 mvn test 执行 src/test/java 下单元测试类,下图为测试结果,运行 1 个测试用例,全部成功。 **7.3 clean** clean是maven工程的清理命令,执行clean会删除target目录及其内容 **7.4 package** package是maven工程的打包命令,对于java工程执行 package 打成 jar 包,对于 web 工程打成 war 包。 **7.5 install** install 是 maven 工程的安装命令,执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库。 从运行结果中,可以看出:当后面的命令执行时,前面的操作过程也都会自动执行
+
+### maven的生命周期
+
+maven对项目构建过程分为三套相互独立的生命周期,这里说的三套而且是相互独立, 这三套分别是: Clean Lifecycle :在进行真正的构建之前进行一些清理工作。 Default Lifecycle :构建的核心部分,编译,测试,打包,部署等等。 Site Lifecycle :生成项目报告,站点,发布站点。
+
+# 作业
+
+```java
+import org.junit.Test;
+
+public class Tap {
+ @Test
+ public void i(){
+ System.out.println(111);
+ }
+}
+```
+
+
--
Gitee
From 212a1c36f4617e90fa20a20be0329a22f07ed2c7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=A9=AC=E5=AE=8F=E8=BE=BE?= <2657224306@qq.com>
Date: Mon, 25 Dec 2023 22:17:02 +0800
Subject: [PATCH 2/2] zuoye
---
.../1222.md" | 487 ++++++++++++++++++
1 file changed, 487 insertions(+)
create mode 100644 "48 \351\251\254\345\256\217\350\276\276/1222.md"
diff --git "a/48 \351\251\254\345\256\217\350\276\276/1222.md" "b/48 \351\251\254\345\256\217\350\276\276/1222.md"
new file mode 100644
index 0000000..81f5aeb
--- /dev/null
+++ "b/48 \351\251\254\345\256\217\350\276\276/1222.md"
@@ -0,0 +1,487 @@
+### 笔记
+
+使用Mapper代理方式,必须满足以下要求:
+1.定义与SQL映射文件同名的Mapper接口,
+2.在 Mapper 接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持
+参数类型和返回值类型一致
+
+# 作业
+
+创建实体类
+
+```java
+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项目
+
+```java
+
+
+ 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配置文件
+
+```java
+
+
+
+
+
+
+
+-->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+mybatis工具类
+
+```java
+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;
+ }
+}
+
+```
+
+接口
+
+```java
+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文件
+
+```java
+
+
+
+
+
+
+
+
+
+ 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
+
+```java
+
+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类
+
+```
+
+```java
+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