网站建设肆金手指排名9,上海有几个区县,南京城乡建设局网站,部门网站建设管理制度Mybatis 整合流程
① 添加MyBatis的依赖 ② 创建数据库表 ③ 编写pojo实体类 ④ 编写映射文件UserMapper.xml ⑤ 编写核心文件mybatis-config.xml ⑥ 编写测试类**
编写 pojo 实体类 (设计相应的数据库#xff09;
Data
AllArgsConstructor
NoArgsConstructor
public class…Mybatis 整合流程
① 添加MyBatis的依赖 ② 创建数据库表 ③ 编写pojo实体类 ④ 编写映射文件UserMapper.xml ⑤ 编写核心文件mybatis-config.xml ⑥ 编写测试类**
编写 pojo 实体类 (设计相应的数据库
Data
AllArgsConstructor
NoArgsConstructor
public class User {private int id; //idprivate String name; //姓名private String pwd; //密码
}UserMapper 接口实现
ListUser getUserLike(String value);//查询全部用户
ListUser findAll();//根据id查询用户
User selectUserById(int id);
User getUserById(MapString,Object map);// 万能的map//添加一个用户
int addUser(User user);
int addUser2(MapString,Object map);// 万能的map//修改一个用户
int updateUser(User user);//删除一个用户
int deleteUser(int id);// 分页ListUser Limit(MapString,Integer map);ListUser RowBounds();UserMapper.xml dao包下面
!--查询操作select idfindAll resultTypecom.hp.pojo.User 下面同理可见--!--模糊查询--select idgetUserLike resultTypeUserselect *from user where pwd like %#{value}%/select!--查询全部操作--select idfindAll resultTypeuserselect * from user/select!--插入操作--insert idaddUser parameterTypeuserinsert into user values(#{id},#{username},#{password})/insert!--万能的 Map 操作--insert idaddUser2 parameterTypemapinsert into user values (#{userid1111},#{userName},#{password})/insert!--删除操作--delete iddelete parameterTypeintdelete from user where id#{id}/delete!--修改操作--update idupdate parameterTypeuserupdate user set username#{username},password#{password} where id#{id}/update!--根据id进行查询--select idfindById resultTypeuser parameterTypeintselect * from user where id#{id}/select!--分页 结果集映射--resultMap idUserMap typeUser/select idLimit parameterTypemap resultMapUserMapselect * from user limit #{startIndex},#{pageSize}/select!--分页 方法2--select idRowBounds resultTypeUserselect * from user/selectmybatis-config.xml Resources资源目录下
?xml version1.0 encodingUTF-8 ?
!DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtd
configuration!--通过properties标签加载外部properties文件--properties resourcedb.properties/!--引入日志工厂--settingssetting namelogImpl valueSTDOUT_LOGGING//settings!-- 设置驼峰命名规则--settingssetting namemapUnderscoreToCamelCase valuetrue//settings!--自定义别名--typeAliasestypeAlias typecom.hp.pojo.User aliasuser//typeAliases!--数据源环境--environments defaultmysqlenvironment idmysqltransactionManager typeJDBC/dataSource typePOOLEDproperty namedriver value${jdbc.driver}/property nameurl value${jdbc.url}/property nameusername value${jdbc.username}/property namepassword value${jdbc.password}//dataSource/environment/environments!--加载映射文件--mappers!--告诉 mybatis 要执行的 sql 语句的位置 引入外部xml文件--mapper resourcecom/hp/dao/mapper.xml//mappers/configuration抽出 MyBatisUtil 工具类 简化测试代码Util包下面
public class MyBatisUtil {//定义 SqlSessionFactoryprivate static SqlSessionFactory factory null;static {//使用 静态块 创建一次 SqlSessionFactorytry {//读取配置文件InputStream inputStream Resources.getResourceAsStream(mybatis-config.xml);//创建 SqlSessionFactory 对象factory new SqlSessionFactoryBuilder().build(inputStream);} catch (Exception e) {factory null;e.printStackTrace();}}/* 获取 SqlSession 对象 */public static SqlSession getSqlSession() {SqlSession sqlsession null;if (factory ! null) {sqlsession factory.openSession();}return sqlsession;}
}测试类代码
public void findAll() {SqlSession sqlSession MyBatisUtil.getSqlSession();UserMapper mapper sqlSession.getMapper(UserMapper.class);ListUser userList mapper.findAll();// userList.forEach(System.out::println); 也可以遍历全部输出for (User user : userList) { // 增强for循环输出System.out.println(user);}sqlSession.close();}db.properties
jdbc.drivercom.mysql.jdbc.Driver
jdbc.urljdbc:mysql://localhost:3306/mybatis?useSSLtrueamp;useUnicodetrueamp;characterEncodingutf8
jdbc.usernameroot
jdbc.passwordrootlog4j.properties
log4j.rootLoggerDEBUG,console,file#控制台输出的相关设置
log4j.appender.console org.apache.log4j.ConsoleAppender
log4j.appender.console.Target System.out
log4j.appender.console.ThresholdDEBUG
log4j.appender.console.layout org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern[%c]-%m%n#文件输出的相关设置
log4j.appender.file org.apache.log4j.RollingFileAppender
log4j.appender.file.File./log/hp.log
log4j.appender.file.MaxFileSize10mb
log4j.appender.file.ThresholdDEBUG
log4j.appender.file.layoutorg.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern[%p][%d{yy-MM-dd}][%c]%m%n#日志输出级别
log4j.logger.org.mybatisDEBUG
log4j.logger.java.sqlDEBUG
log4j.logger.java.sql.StatementDEBUG
log4j.logger.java.sql.ResultSetDEBUG
log4j.logger.java.sql.PreparedStatementDEBUGMaven 依赖配置
dependencies!--mybatis-spring --dependencygroupIdorg.mybatis/groupIdartifactIdmybatis-spring/artifactIdversion2.0.2/version/dependency!--junit --dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/versionscopetest/scope/dependency!-- mybatis --dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.9/version/dependency!-- mysql-connector-java --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.9/version/dependency!-- spring-webmvc --dependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion5.1.9.RELEASE/version/dependency!-- spring-jdbc --dependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion5.1.9.RELEASE/version/dependency!-- lombok --dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.16.10/versionscopeprovided/scope/dependency/dependencies!-- Maven静态资源过滤问题--buildresourcesresourcedirectorysrc/main/java/directory!--所在的目录--includes!--包括目录下的.properties,.xml 文件都会扫描到--include**/*.properties/includeinclude**/*.xml/include/includesfilteringfalse/filtering/resource/resourcespluginspluginartifactIdmaven-compiler-plugin/artifactIdversion3.1/versionconfigurationsource1.8/sourcetarget1.8/target/configuration/plugin/plugins/build