当前位置: 首页 > news >正文

邢台网约车北京seo实战培训班

邢台网约车,北京seo实战培训班,百度企业,实用的网站目录 一、MyBatis简介 二、搭建MyBatis (一)配置依赖 (二)log4j日志功能 (三)数据库配置文件——jdbc.properties (四)创建MyBatis的核心配置文件 (五)使用MyBatisX插件 三、项目其他配置搭建 (一)创建数据库连接工具类 (二)创建表 (三)创建数据库的实体类 (四)Use…目录 一、MyBatis简介 二、搭建MyBatis (一)配置依赖 (二)log4j日志功能 (三)数据库配置文件——jdbc.properties (四)创建MyBatis的核心配置文件 (五)使用MyBatisX插件 三、项目其他配置搭建 (一)创建数据库连接工具类 (二)创建表 (三)创建数据库的实体类 (四)UserMapper接口 (五)UserMapper.xml (六)测试类 一、MyBatis简介 MyBatis是一款优秀的持久层框架主要用于简化数据库操作它支持自定义SQL、存储过程以及高级映射。 它内部封装了JDBC开发时只需要关注SQL语句本身不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。直接编写原生态sql可以严格控制sql执行性能灵活度高。 MyBatis可以使用 XML或注解来配置和映射原生信息将POJO映射成数据库中的记录避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。 下载地址https://github.com/mybatis/mybatis-3  二、搭建MyBatis maven3.8.1 MySQL8 MyBatis3.5.16 (一)配置依赖 pom.xml dependencies!-- Mybatis核心 --dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.16/version/dependency!-- junit测试 -- dependencygroupIdorg.junit.jupiter/groupIdartifactIdjunit-jupiter-api/artifactIdversion5.11.3/versionscopetest/scope/dependency!-- MySQL驱动 --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.33/version/dependency!-- lombok --dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.36/versionscopeprovided/scope/dependency!-- log4j日志 --dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.17/version/dependency/dependencies (二)log4j日志功能 日志的级别 FATAL(致命)ERROR(错误)WARN(警告)INFO(信息)DEBUG(调试) 从左到右打印的内容越来越详细 src/main/resources/log4j.xml如果有报红无需在意 ?xml version1.0 encodingUTF-8 ? !DOCTYPE log4j:configuration SYSTEM log4j.dtd log4j:configuration xmlns:log4jhttp://jakarta.apache.org/log4j/appender nameSTDOUT classorg.apache.log4j.ConsoleAppenderparam nameEncoding valueUTF-8/layout classorg.apache.log4j.PatternLayoutparam nameConversionPattern value%-5p %d{MM-dd HH:mm:ss,SSS}%m (%F:%L) \n//layout/appenderlogger namejava.sqllevel valuedebug//loggerlogger nameorg.apache.ibatislevel valueinfo//loggerrootlevel valuedebug/appender-ref refSTDOUT//root /log4j:configuration (三)数据库配置文件——jdbc.properties src/main/resources/jdbc.properties jdbc.drivercom.mysql.cj.jdbc.Driver jdbc.urljdbc:mysql://localhost:3306/mybatis?serverTimezoneUTC jdbc.usernameroot jdbc.passwordroot 指定serverTimezoneUTC参数的主要作用是解决时区问题确保从数据库中检索的时间和日期值与Java应用程序中的时区设置一致。 (四)创建MyBatis的核心配置文件 核心配置文件主要用于配置连接数据库的环境以及MyBatis的全局配置信息 src/main/resources/mybatis-config.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtd configuration!--MyBatis核心配置文件中标签的顺序properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?--!--引入properties文件--properties resourcejdbc.properties/!-- 设置MyBatis的全局配置--settings!-- 将_自动映射为驼峰例如emp_nameempName--setting namemapUnderscoreToCamelCase valuetrue/!-- 开启延迟加载--setting namelazyLoadingEnabled valuetrue//settings!--设置类型别名--typeAliases !--以包为单位将包下所有的类型设置默认的类型别名即类名且不区分大小写--package namecom.atguigu.mybatis.pojo//typeAliases!--environments配置多个连接数据库的环境属性default设置默认使用的环境的id--environments defaultdevelopment!--environment配置某个具体的环境属性id表示连接数据库的环境的唯一标识不能重复--environment iddevelopment!--transactionManager设置事务管理方式属性typeJDBC|MANAGEDJDBC表示当前环境中执行SQL时使用的是JDBC中原生的事务管理方式事 务的提交或回滚需要手动处理MANAGED被管理例如Spring--transactionManager typeJDBC/!--dataSource配置数据源属性type设置数据源的类型typePOOLED|UNPOOLED|JNDIPOOLED表示使用数据库连接池缓存数据库连接UNPOOLED表示不使用数据库连接池JNDI表示使用上下文中的数据源--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!--mapper resourcemappers/UserMapper.xml/--!--以包为单位引入映射文件要求1.mapper接口所在的包要和映射文件所在的包一致2.mapper接口要和映射文件的名字一致--package namecom.atguigu.mybatis.mapper//mappers /configuration (五)使用MyBatisX插件 三、项目其他配置搭建 (一)创建数据库连接工具类 com.atguigu.mybatis.utils.SqlSessionUtils.SqlSessionUtils import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.IOException; import java.io.InputStream;public class SqlSessionUtils {public static SqlSession getSqlSession() {SqlSession sqlSession null;try {InputStream is Resources.getResourceAsStream(mybatis-config.xml);SqlSessionFactoryBuilder sqlSessionFactoryBuilder new SqlSessionFactoryBuilder();SqlSessionFactory sqlSessionFactory sqlSessionFactoryBuilder.build(is);sqlSession sqlSessionFactory.openSession(true);} catch (IOException e) {e.printStackTrace();}return sqlSession;} } (二)创建表 create table t_user (id int auto_increment primary key,username varchar(20) null,password varchar(20) null,age int null,sex char null,email varchar(50) null );-- 插入数据 insert into t_user values (null, 张三, 123456, 19, 男, abc456163.com),(null, 李四, 123456, 20, 女, abc123163.com),(null, 王五, 123456, 25, 男, 123xyzqq.com); (三)创建数据库的实体类 com.atguigu.mybatis.pojo.User Data AllArgsConstructor NoArgsConstructor public class User {private Integer id;private String username;private String password;private Integer age;private String sex;private String email; } (四)UserMapper接口 import com.atguigu.mybatis.pojo.User; import org.apache.ibatis.annotations.Param;import java.util.List;public interface UserMapper {/*** 添加用户信息*/int insertUser(User user);/*** 根据id修改用户信息*/int updateUser(User user);/*** 根据id删除用户信息*/int deleteUser(Integer id);/*** 根据id查询用户信息*/User getUserById(Integer id);/*** 根据username查询用户信息*/ListUser getUserByUserNameAndPassword(Param(username) String username, Param(password)String password);/*** 查询所有用户信息*/ListUser getAllUser(); } (五)UserMapper.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd !--MaBatis面向接口编程的两个一致1.映射文件的namespace要和mapper接口的全类名保持一致通过接口就能找到映射文件2.映射文件中SQL语句的id要和mapper接口中的方法名一致通过接口中的抽象方法就能找到SQL语句 -- mapper namespacecom.atguigu.mybatis.mapper.UserMapper!-- int insertUser(User user);--insert idinsertUserinsert into t_uservalues (null, #{username}, #{password}, #{age}, #{sex}, #{email});/insert!-- int updateUser(User user);--update idupdateUserupdate t_userset username #{username},password #{password},age #{age},sex #{sex},email #{email}where id #{id};/update!-- int deleteUser(Integer id);--delete iddeleteUserdeletefrom t_userwhere id #{id}/delete!-- User getUserById(Integer id);--!-- 当数据库字段和属性相同时resultTypeUser 可以不写 MyBatis可自动映射 --select idgetUserById resultTypeUserselect *from t_userwhere id #{id}/select!-- ListUser getUserByUserNameAndPassword(String username,String password);--select idgetUserByUserNameAndPassword resultTypeUserselect *from t_userwhere username #{username}and password #{password}/select!-- ListUser getAllUser();--select idgetAllUser resultTypeUserselect * from t_user/select /mapper (六)测试类 com.atguigu.mybatis.test.MyBatisTest public class MyBatisTest {Testpublic void testInsertUser() {SqlSession sqlSession SqlSessionUtils.getSqlSession();UserMapper mapper sqlSession.getMapper(UserMapper.class);int row mapper.insertUser(new User(null, jack, 789789, 26, 男, 123qq.com));System.out.println(row); // 1}Testpublic void testUpdateUser() {SqlSession sqlSession SqlSessionUtils.getSqlSession();UserMapper mapper sqlSession.getMapper(UserMapper.class);int row mapper.updateUser(new User(4, jack, 777777, 23, 男, 12344qq.com));System.out.println(row); // 1}Testpublic void testDeleteUser() {SqlSession sqlSession SqlSessionUtils.getSqlSession();UserMapper mapper sqlSession.getMapper(UserMapper.class);int row mapper.deleteUser(4);System.out.println(row); // 1}Testpublic void testGetUserById() {SqlSession sqlSession SqlSessionUtils.getSqlSession();UserMapper mapper sqlSession.getMapper(UserMapper.class);User user mapper.getUserById(3);System.out.println(user);}// User(id3, username王五, password123456, age25, sex男, email123xyzqq.com)Testpublic void testGetUserByUserNameAndPassword() {SqlSession sqlSession SqlSessionUtils.getSqlSession();UserMapper mapper sqlSession.getMapper(UserMapper.class);ListUser userList mapper.getUserByUserNameAndPassword(李四, 123456);userList.forEach(System.out::println);}// User(id2, username李四, password123456, age20, sex女, emailabc123163.com)Testpublic void testGetAllUser() {SqlSession sqlSession SqlSessionUtils.getSqlSession();UserMapper mapper sqlSession.getMapper(UserMapper.class);ListUser userList mapper.getAllUser();userList.forEach(System.out::println);}/*** User(id1, username张三, password123456, age19, sex男, emailabc456163.com)* User(id2, username李四, password123456, age20, sex女, emailabc123163.com)* User(id3, username王五, password123456, age25, sex男, email123xyzqq.com)*/ }
http://www.w-s-a.com/news/129288/

相关文章:

  • 企业网站备案代理商建设工程施工合同2013
  • 要学做网站wordpress xss漏洞
  • 白云品牌型网站建设在网上做国际快递淘宝网站
  • 无锡网站建设方式推广软件赚钱的app
  • 如何控制一个网站软件开发wordpress教育插件
  • 网站开发属于软件开发类吗wordpress邮件失败
  • 凡科网站怎么设计win8网站模板
  • 深圳整站seo个人网站建设一般流程
  • 济南网站中企动力wordpress主题ripro
  • 淮北网站建设求职简历怎么做点击图片进网站
  • 自适应网站推广注册公司流程和费用公司注册
  • 电子商务网站建设预算表网站建设卩金手指科杰
  • 广西响应式网站哪家好产品网络推广怎样做
  • 移动网可以上的网站是什么样子的淘宝优惠券网站开发
  • wordpress php设置伊宁seo网站建设
  • 兰陵住房建设局网站wordpress中文标题
  • 福州搜索优化网站个人网页网站制作模板
  • 网站开发分哪几个步骤使用wordpress开发一个页面跳转
  • 网站制作后还能更改么wordpress 近期文章 代码
  • 做一个小网站需要多少钱wordpress集成paypal
  • 加强网站建设管理 及时更新自己设计装修的app
  • 集团网站设计案例网页制作网站开发
  • 怎么优化网站的单个关键词排名惠州品牌网站建设
  • 上海跨境电商网站制作wordpress弃用react
  • phpcms网站模版下载电商网站建设属于研发费用吗
  • 动画毕业设计代做网站高校门户网站建设需要多少钱
  • 网站内链设置wordpress前台特别慢
  • 杭州模板网站建设系统江苏省建设考试网站准考证打印
  • 国家建设执业资格注册中心网站企业手机网站建设机构
  • 内容管理系统做网站怎么做英文版的网站