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

2017网站设计趋势工程师证怎么考取需要什么条件

2017网站设计趋势,工程师证怎么考取需要什么条件,做网站咋不用买虚拟机,商城推广软文范文目录 一、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

maven:3.8.1

MySQL:8

MyBatis:3.5.16

(一)配置依赖

pom.xml:

<dependencies><!-- Mybatis核心 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.16</version></dependency><!-- junit测试 -->        <dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>5.11.3</version><scope>test</scope></dependency><!-- MySQL驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version></dependency><!-- lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.36</version><scope>provided</scope></dependency><!-- log4j日志 --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency></dependencies>

(二)log4j日志功能

日志的级别 FATAL(致命)>ERROR(错误)>WARN(警告)>INFO(信息)>DEBUG(调试)

从左到右打印的内容越来越详细

src/main/resources/log4j.xml:如果有报红无需在意

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"><appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"><param name="Encoding" value="UTF-8"/><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS}%m (%F:%L) \n"/></layout></appender><logger name="java.sql"><level value="debug"/></logger><logger name="org.apache.ibatis"><level value="info"/></logger><root><level value="debug"/><appender-ref ref="STDOUT"/></root>
</log4j:configuration>

(三)数据库配置文件——jdbc.properties

src/main/resources/jdbc.properties:

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC
jdbc.username=root
jdbc.password=root

        指定serverTimezone=UTC参数的主要作用是解决时区问题,确保从数据库中检索的时间和日期值与Java应用程序中的时区设置一致。

(四)创建MyBatis的核心配置文件

核心配置文件主要用于配置连接数据库的环境以及MyBatis的全局配置信息

src/main/resources/mybatis-config.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!--MyBatis核心配置文件中,标签的顺序:properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?--><!--引入properties文件--><properties resource="jdbc.properties"/><!-- 设置MyBatis的全局配置--><settings><!-- 将_自动映射为驼峰,例如emp_name:empName--><setting name="mapUnderscoreToCamelCase" value="true"/><!-- 开启延迟加载--><setting name="lazyLoadingEnabled" value="true"/></settings><!--设置类型别名--><typeAliases>      <!--以包为单位,将包下所有的类型设置默认的类型别名,即类名且不区分大小写--><package name="com.atguigu.mybatis.pojo"/></typeAliases><!--environments:配置多个连接数据库的环境属性:default:设置默认使用的环境的id--><environments default="development"><!--environment:配置某个具体的环境属性:id:表示连接数据库的环境的唯一标识,不能重复--><environment id="development"><!--transactionManager:设置事务管理方式属性:type="JDBC|MANAGED"JDBC:表示当前环境中,执行SQL时,使用的是JDBC中原生的事务管理方式,事
务的提交或回滚需要手动处理MANAGED:被管理,例如Spring--><transactionManager type="JDBC"/><!--dataSource:配置数据源属性:type:设置数据源的类型type="POOLED|UNPOOLED|JNDI"POOLED:表示使用数据库连接池缓存数据库连接UNPOOLED:表示不使用数据库连接池JNDI:表示使用上下文中的数据源--><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></dataSource></environment></environments><!--引入映射文件--><mappers><!--<mapper resource="mappers/UserMapper.xml"/>--><!--以包为单位引入映射文件,要求:1.mapper接口所在的包要和映射文件所在的包一致2.mapper接口要和映射文件的名字一致--><package name="com.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, '男', 'abc456@163.com'),(null, '李四', '123456', 20, '女', 'abc123@163.com'),(null, '王五', '123456', 25, '男', '123xyz@qq.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查询用户信息*/List<User> getUserByUserNameAndPassword(@Param("username") String username, @Param("password")String password);/*** 查询所有用户信息*/List<User> getAllUser();
}

(五)UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--MaBatis面向接口编程的两个一致:1.映射文件的namespace要和mapper接口的全类名保持一致,通过接口就能找到映射文件2.映射文件中SQL语句的id要和mapper接口中的方法名一致,通过接口中的抽象方法就能找到SQL语句
-->
<mapper namespace="com.atguigu.mybatis.mapper.UserMapper"><!-- int insertUser(User user);--><insert id="insertUser">insert into t_uservalues (null, #{username}, #{password}, #{age}, #{sex}, #{email});</insert><!-- int updateUser(User user);--><update id="updateUser">update t_userset username = #{username},password = #{password},age      = #{age},sex      = #{sex},email    = #{email}where id = #{id};</update><!-- int deleteUser(Integer id);--><delete id="deleteUser">deletefrom t_userwhere id = #{id}</delete><!-- User getUserById(Integer id);--><!-- 当数据库字段和属性相同时,resultType="User" 可以不写 MyBatis可自动映射  --><select id="getUserById" resultType="User">select *from t_userwhere id = #{id}</select><!-- List<User> getUserByUserNameAndPassword(String username,String password);--><select id="getUserByUserNameAndPassword" resultType="User">select *from t_userwhere username = #{username}and password = #{password}</select><!-- List<User> getAllUser();--><select id="getAllUser" resultType="User">select * 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, "男", "123@qq.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, "男", "12344@qq.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(id=3, username=王五, password=123456, age=25, sex=男, email=123xyz@qq.com)@Testpublic void testGetUserByUserNameAndPassword() {SqlSession sqlSession = SqlSessionUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);List<User> userList = mapper.getUserByUserNameAndPassword("李四", "123456");userList.forEach(System.out::println);}// User(id=2, username=李四, password=123456, age=20, sex=女, email=abc123@163.com)@Testpublic void testGetAllUser() {SqlSession sqlSession = SqlSessionUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);List<User> userList = mapper.getAllUser();userList.forEach(System.out::println);}/*** User(id=1, username=张三, password=123456, age=19, sex=男, email=abc456@163.com)* User(id=2, username=李四, password=123456, age=20, sex=女, email=abc123@163.com)* User(id=3, username=王五, password=123456, age=25, sex=男, email=123xyz@qq.com)*/
}
http://www.sczhlp.com/news/148357/

相关文章:

  • 河北省住房和建设厅网站网站分析一般要重点做哪几项内容
  • ui做的好的网站有哪些内容网站设计的技巧
  • 网站建设 运营电商运营一般要学多久
  • cms网站群管理系统做谷歌网站使用什么统计代码
  • 网站设计工作内容网站建设 项目文档
  • 平台网站模板素材图片信息流广告的特点
  • 网站历史快照企业核名网站
  • 通过IDOR实现权限提升导致未授权用户注入
  • 做电影平台网站怎么赚钱吗公司做网站域名归谁
  • 做彩平图的素材那个网站有led企业网站策划
  • wordpress开发门户网站wordpress编辑器下载地址
  • 网站模板免费下载phpwordpress linux 配置
  • 做平面还有什么素材网站佛山市招投标交易中心
  • APUE学习笔记之基础知识(一) - Invinc
  • Syslog日志集成搭建
  • 定义工业生产新范式!网易灵动发布全球首款全域智能无人装载机“灵载”
  • 国有银行人力资源数字化转型的合规突围与效能跃迁
  • 网站下拉广告wordpress自定义作者连接
  • 传媒公司 网站开发备案网站建设
  • 北京设计公司网站建筑工程网络进度谋划智能编制调控系统
  • 网站栏目划分17网一起做网店广州站
  • 给网站做插画分辨率新平台推广文案
  • 一个服务器放多少网站wordpress替换表情变小
  • 上海网站建设网页设计东营哪里做网站
  • 河南郑州网站关键词排名助手wordpress google翻译
  • 门户网站建设工作汇报建站网站破解版
  • 企业做网站好处免费的企业网站建设
  • Java 类类型
  • OpenFeign 继承FeignClient客户端注意事项
  • 做网站 华普花园一个新产品策划方案