MyBatis简易教程
资源文件列表(大概)
MyBatis/MyBatis.md
106.66KB
__MACOSX/MyBatis/._MyBatis.md
523B
MyBatis/MyBatis Generator/
-
__MACOSX/MyBatis/._.DS_Store
120B
MyBatis/154RU227-0.png
36.5KB
__MACOSX/MyBatis/._154RU227-0.png
220B
MyBatis/Java对象关系.png
88.95KB
__MACOSX/MyBatis/._Java对象关系.png
276B
__MACOSX/MyBatis/._关联关系.png
220B
MyBatis/1444224361-1.png
7.04KB
__MACOSX/MyBatis/._1444224361-1.png
220B
MyBatis/MybatisPlusConfig.java
604B
__MACOSX/MyBatis/._MybatisPlusConfig.java
272B
__MACOSX/MyBatis/._核心对象.png
220B
MyBatis/MyBatis Generator/generatorConfig.xml(不带项目名称).xml
1.72KB
__MACOSX/MyBatis/MyBatis Generator/._generatorConfig.xml(不带项目名称).xml
176B
MyBatis/MyBatis Generator/generatorConfig.xml(带项目名称).xml
1.77KB
__MACOSX/MyBatis/MyBatis Generator/._generatorConfig.xml(带项目名称).xml
176B
MyBatis/MyBatis Generator/MyBatis Generator.md
2.34KB
__MACOSX/MyBatis/MyBatis Generator/._MyBatis Generator.md
523B
MyBatis/动态SQL/BookMapper.xml
766B
__MACOSX/MyBatis/动态SQL/._BookMapper.xml
276B
MyBatis/动态SQL/动态SQL.java
6.71KB
__MACOSX/MyBatis/动态SQL/._动态SQL.java
176B
MyBatis/动态SQL/book.sql
1.69KB
__MACOSX/MyBatis/动态SQL/._book.sql
276B
MyBatis/动态SQL/Book.java
947B
__MACOSX/MyBatis/动态SQL/._Book.java
176B
MyBatis/二级缓存cache/SerializeUtil.java
918B
__MACOSX/MyBatis/二级缓存cache/._SerializeUtil.java
276B
MyBatis/二级缓存cache/MybatisRedisCache.java
2.19KB
__MACOSX/MyBatis/二级缓存cache/._MybatisRedisCache.java
176B
MyBatis/MyBatis配置/mybatis-config.xml
1.1KB
__MACOSX/MyBatis/MyBatis配置/._mybatis-config.xml
176B
MyBatis/MyBatis配置/db.properties
170B
__MACOSX/MyBatis/MyBatis配置/._db.properties
176B
MyBatis/MyBatis输出日志/mybatis-config.xml
867B
__MACOSX/MyBatis/MyBatis输出日志/._mybatis-config.xml
176B
MyBatis/MyBatis输出日志/log4j2.xml
1.42KB
__MACOSX/MyBatis/MyBatis输出日志/._log4j2.xml
176B
MyBatis/MyBatis输出日志/.DS_Store
6KB
__MACOSX/MyBatis/MyBatis输出日志/._.DS_Store
120B
MyBatis/MyBatis输出日志/db.properties
170B
__MACOSX/MyBatis/MyBatis输出日志/._db.properties
176B
MyBatis/MyBatis输出日志/MyBatis输出日志.md
156B
__MACOSX/MyBatis/MyBatis输出日志/._MyBatis输出日志.md
523B
资源内容介绍
MyBatis简易教程欢迎进入MyBatis简易教程。本教程旨在帮助您快速入门MyBatis,并掌握其基本用法。通过本教程,您将了解MyBatis的核心概念、配置方法以及如何在项目中集成和使用MyBatis进行数据库操作。1. MyBatis简介MyBatis是一款优秀的持久层框架,它通过消除几乎所有的JDBC代码和手动设置参数以及检索结果集的工作,让开发者专注于SQL本身。MyBatis支持自定义SQL、存储过程以及高级映射。它极大的简化了数据库操作,并与现有的Java代码完美集成。2. 环境准备在开始使用MyBatis之前,您需要准备以下开发环境:JDK 8或以上版本Maven或Gradle构建工具数据库(如MySQL、Oracle等) package cn.edu.guet;import java.sql.Date;import java.text.SimpleDateFormat;import java.util.HashMap;import java.util.Map;/** * @Author liwei * @Date 2023/1/8 17:26 * @Version 1.0 */public class Test { public static void main(String[] args) { String employee_id = null; String first_name = null; String last_name = "JACK"; String email = null; String phone_number = "18076"; String hire_date = null; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date hireDate = null; if (hire_date != null) { hireDate = Date.valueOf(hire_date); } try { Map<Integer, Object> map = new HashMap<Integer, Object>(); int count = 1; String sql = "SELECT * FROM employees"; String whereClause = ""; StringBuffer sb = new StringBuffer(); sb.append(sql); StringBuffer where = new StringBuffer(); if (employee_id != null && !"".equals(employee_id)) { if (whereClause.equals("")) { where.append(" WHERE employee_id=?"); whereClause = where.toString(); } else { where.append(" AND employee_id=?"); whereClause = where.toString(); } map.put(count++, employee_id); } if (first_name != null && !"".equals(first_name)) { if (whereClause.equals("")) { where.append(" WHERE first_name LIKE ?"); whereClause = where.toString(); } else { where.append(" AND first_name LIKE ?"); whereClause = where.toString(); } map.put(count++, first_name); } if (last_name != null && !"".equals(last_name)) { if (whereClause.equals("")) { where.append(" WHERE last_name LIKE ?"); whereClause = where.toString(); } else { where.append(" AND last_name LIKE ?"); whereClause = where.toString(); } map.put(count++, last_name); } if (email != null && !"".equals(email)) { if (whereClause.equals("")) { where.append(" WHERE email LIKE ?"); whereClause = where.toString(); } else { where.append(" AND email LIKE ?"); whereClause = where.toString(); } map.put(count++, email); } if (phone_number != null && !"".equals(phone_number)) { if (whereClause.equals("")) { where.append(" WHERE phone_number LIKE ?"); whereClause = where.toString(); } else { where.append(" AND phone_number LIKE ?"); whereClause = where.toString(); } map.put(count++, phone_number); } if (hire_date != null && !"".equals(hire_date)) { if (whereClause.equals("")) { where.append(" WHERE hire_date=?"); whereClause = where.toString(); } else { where.append(" AND hire_date=?"); whereClause = where.toString(); } map.put(count++, hireDate); } sb.append(where.toString()); sql = sb.toString(); System.out.println("SQL语句是:" + sql); } catch (Exception e) { e.printStackTrace(); } } @Override public List<PlanDesignInfo> searchBill(PlanDesignDTO planDesignDTO) throws SQLException { String sql = "SELECT * FROM PlanDesignInfo"; String whereClause = ""; StringBuffer sb = new StringBuffer(); sb.append(sql); StringBuffer where = new StringBuffer(); //把所有的值存储起来 Map<Integer, Object> map = new TreeMap<Integer, Object>(); int count = 1; if (!StringUtils.isBlank(planDesignDTO.getPlanDesignName())) { if (whereClause.equals("")) { where.append(" WHERE plan_design_name LIKE ?"); whereClause = where.toString(); } else { where.append(" AND plan_design_name LIKE ?"); whereClause = where.toString(); } map.put(count++, planDesignDTO.getPlanDesignName()); } if (planDesignDTO.getSpecId() != null) { if (whereClause.equals("")) { where.append(" WHERE spec_id=?"); whereClause = where.toString(); } else { where.append(" AND spec_id=?"); whereClause = where.toString(); } map.put(count++, planDesignDTO.getSpecId()); } if (!StringUtils.isBlank(planDesignDTO.getDesigner())) { if (whereClause.equals("")) { where.append(" WHERE designer LIKE ?"); whereClause = where.toString(); } else { where.append(" AND designer LIKE ?"); whereClause = where.toString(); } map.put(count++, planDesignDTO.getDesigner()); } if (CollectionUtil.isNotEmpty(planDesignDTO.getDesignTime())) { if (whereClause.equals("")) { where.append(" WHERE create_time between ? AND ?"); whereClause = where.toString(); } else { where.append(" AND create_time between ? AND ?"); whereClause = where.toString(); } map.put(count++, planDesignDTO.getDesignTime()); } sb.append(whereClause); sql = sb.toString(); Connection conn = DBConnection.getConn(); PreparedStatement pstmt = conn.prepareStatement(sql); Set<Integer> keySet = map.keySet(); Iterator<Integer> iterator = keySet.stream().iterator(); while (iterator.hasNext()) { Integer key = iterator.next(); if (ClassUtils.isAssignable(map.get(key).getClass(), String.class)) { pstmt.setObject(key, "%" + map.get(key) + "%"); } else { pstmt.setObject(key, map.get(key)); } } ResultSet rs = pstmt.executeQuery(); while (rs.next()) { System.out.println(rs.getString("plan_design_name")); } return null; }}