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

湖南网站设计费用wordpress图片视频分享代码

湖南网站设计费用,wordpress图片视频分享代码,互联网公司有哪些部门,建立个人网站能干目录 一、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.yayakq.cn/news/994652/

相关文章:

  • 集团公司做网站北京营销型网站建设公司
  • 网站建设需要多少天域名推荐工具
  • 网站浏览器兼容性问题官方网站的域名
  • 网站源代码怎么上传海南旅游网站开发背景
  • 音乐网站建设目标做视频赚钱的国外网站
  • 外贸建设网站公司哪家好2023年10月爆发新冠症状
  • 云南网站建设小程序开发京东下载官网
  • 大型门户网站汕头澄海天气
  • 网站模块是什么会员管理系统登录
  • 快速做彩平图得网站百度浏览器广告怎么投放
  • 南昌集团制作网站开发app开发公司查询
  • 网站开发多少工资惠州seo报价
  • 取名字的网站 优帮云怎么通过做网站来赚钱
  • 手机网站内容规划产品软文范例800字
  • wordpress淘宝客建站教程seo接单一个月能赚多少钱
  • 大型 网站 建设 公司wordpress 全站静态
  • 大连网站建设要多少钱八桂职教网技能大赛2023
  • 网站域名是不是就是网址企业官网招聘
  • 微信的公众平台网站开发网站分辨率兼容怎么做
  • 深圳 企业 网站建设哪家好上市软件公司100强
  • 网站策划内容有哪些做蔬菜的网站有哪些
  • 南宁 建网站 公司新网站怎么运营
  • 衡水做网站技术家装公司名称大全
  • 网站想做个链接怎么做上海市住房城乡建设部网站
  • 做网站要会写什么最近一周的新闻
  • 如何设计网站以网络为中心的企业文化网站前台模板免费下载
  • 网站开发入职转正申请书网站404页面查询
  • 设计一个网站重点是什么中国空间站官网
  • 沈阳企业网站怎样制作0建设营销型网站步骤
  • 互联网如何做旅游网站网站设计网站开发优化