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

做网站和域名厦门百度竞价开户

做网站和域名,厦门百度竞价开户,遵义网吧,苏州婚庆公司网站建设案例以下说明时会以独立的Mybatis工程作为案例,但说明时会解释结合SpringBoot时的情景; 一、MyBatis 核心组件 学习Mybatis首先一定要有一种意识,Mybatis的使用主要依靠配置文件进行功能,虽然如今进化出注解的模式,但是&a…

以下说明时会以独立的Mybatis工程作为案例,但说明时会解释结合SpringBoot时的情景;


一、MyBatis 核心组件

学习Mybatis首先一定要有一种意识,Mybatis的使用主要依靠配置文件进行功能,虽然如今进化出注解的模式,但是,对于复杂的SQL语句的执行依然依靠配置文件最简单,但也不需要害怕配置文件,学习Mybatis可以帮助我们克服Maven配置文件带来的恐惧:

  1. 依赖引入文件:无论是独立的Maven工程还是对接SpringBoot工程,Mybatis的依赖引入是必不可少的
  2. 配置文件mybatis-config.xml这个很好理解,就是关于链接的数据库的信息,密码啦!用户啦!
  3. 映射文件XxxMapper.xml核心配置文件,也是功能的体现,只是有些语法太过别扭,但其实就是按Mybatis他自己包装的sql语句写得语句;
  4. POJO 类:这也是Mybatis的优势之一,建立一个与数据库表对应的实体类,在接收数据库返回的数据时就会自动将字段中的数据给实体类中对应的变量;
  5. Mapper 接口:具体功能的体现,其实就是和映射文件的每一条Mysql语句进行对应的;
  6. SqlSessionFactory:创建 SqlSession 的核心对象;不重要,因为在和SpringBoot对接后就不需要了;

二、代码示例

关于依赖注入文件就不多说了,逻辑很简单,用啥就调啥
1. 创建 POJO 类
public class User {private Integer id;private String name;private String email;// 必须添加相应的geter和seter方法
}
2. 全局配置文件 mybatis-config.xml(整体核心配置文件)

其实它的功能更相当于总司令,使整个Mybatis项目的说明中心,包括数据库的信息和相关配置文件的信息;

当然他能掌控不仅仅只是单个数据库的信息,甚至可以进行多数据库连接的配置,这里面具有很多的配置属性都可以进行多次尝试;

<?xml version="1.0" encoding="UTF-8" ?>
<configuration><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><!-- 数据库的配置信息 --><property name="driver" value="com.mysql.cj.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/mydb"/><property name="username" value="root"/><property name="password" value="123456"/></dataSource></environment></environments><mappers><!-- 数据库操作的sql映射配置文件的声明文件 --><mapper resource="com/example/mapper/UserMapper.xml"/></mappers>
</configuration>
3. Mapper XML 映射文件 UserMapper.xml

一般放在SpringBoot项目中resource的文件夹里面,当然他的文件命名很有特点,他的文件命名必须要与mapper对应接口的地址相同;
但在springboot里面基本可以不使用这个配置文件;

<?xml version="1.0" encoding="UTF-8" ?>
<!-- namespace这个属性的数值必须是映射的Mapper接口的相对路径 -->
<mapper namespace="com.example.mapper.UserMapper"><!-- resultType里面放的是返回的实体类的相对路径 --><!-- id指得是这一条sql语句的唯一标识符 ,也是未来Mapper接口抽象方法的映射名字--><select id="selectUserById" resultType="com.example.pojo.User">SELECT * FROM users WHERE id = #{id}</select><insert id="insertUser" parameterType="com.example.pojo.User">INSERT INTO users(name, email) VALUES(#{name}, #{email})</insert>
</mapper>
4.Mapper 接口

为的是简化逻辑贴合java语法(但是感觉步骤没变少)将上述Mapper.XML文件的每一条SQL语句和接口的每一个抽象方法一一对应,以后再想使用Mapper.XML文件中的SQL语句直接调用接口就可以了,很方便,其实真正起作用的还是Mapper.XML文件中的代码,而Mapper接口对他的每一条语句进行了映射;

public interface UserMapper {// 以下抽象方法的名字必须和Mapper.XML文件中的id值一一对应;// 注意这个时候它的返回值就要和映射文件中的对应了User selectUserById(int id);void insertUser(User user);
}
5. 使用 MyBatis 执行操作(核心,如何去使用?)
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class Main {public static void main(String[] args) throws Exception {// 加载配置文件String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);// 创建 SqlSessionFactorySqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);// 获取 SqlSessiontry (SqlSession session = sqlSessionFactory.openSession()) {//以上代码在与springboot的对接中基本不需要考虑,大概的意思就是拿到//一个控制Mybatis的一个对象// 获取 Mapper 映射的接口对象UserMapper mapper = session.getMapper(UserMapper.class);// 执行查询User user = mapper.selectUserById(1);System.out.println(user.getName());// 执行插入User newUser = new User("John", "john@example.com");mapper.insertUser(newUser);session.commit(); // 提交事务}}
}

三、注解方式(替代 XML 映射)

public interface UserMapper {@Select("SELECT * FROM users WHERE id = #{id}")User selectUserById(int id);@Insert("INSERT INTO users(name, email) VALUES(#{name}, #{email})")@Options(useGeneratedKeys = true, keyProperty = "id")void insertUser(User user);
}

四、核心概念说明

  1. #{} 和 ${}
    • #{value}:预编译参数(防止 SQL 注入)
    • ${value}:直接拼接 SQL(慎用)
  1. 动态 SQL
<select id="findUsers" parameterType="map" resultType="User">SELECT * FROM users<where><if test="name != null">AND name = #{name}</if><if test="email != null">AND email = #{email}</if></where>
</select>
  1. 结果映射
<resultMap id="userResultMap" type="User"><id property="id" column="user_id"/><result property="name" column="user_name"/>
</resultMap>

通过以上结构即可快速上手 MyBatis,根据需求选择 XML 或注解方式配置 SQL 映射。

http://www.dtcms.com/wzjs/508870.html

相关文章:

  • wordpress xiu主题最新版网络优化公司排名
  • 国外注册的域名国内做的网站适合口碑营销的产品
  • 南京建设网站公司网站西安百度推广网站建设
  • 网站权重转移做排名常德政府网站市民留言
  • 做加盟的网站建设google官网入口
  • 便捷的大连网站建设流量主广告点击自助平台
  • 如何建立单页网站自助建站系统破解版
  • 商城建网站网络营销公司好不好
  • 深圳b2c电子商务网站seo入门培训
  • 找人做网站被骗为什么不构成诈骗罪长沙 建站优化
  • 做网站服务器e3百度推广上班怎么样
  • 网站交易平台建设产品推广文案
  • jsp ajax网站开发典型实例pdf站长工具 站长之家
  • 杭州模板建站哪家好专业网站seo推广
  • 长沙公司做网站大概多少钱站长之家关键词挖掘工具
  • 百度wap网站建设网站排名优化服务
  • 设计的比较好的网站港港网app下载最新版
  • 网站建站建设网站百度seo指数查询
  • 郑州营销型网站设计怎么做营销
  • 工程项目管理软件 免费成都搜索优化排名公司
  • 网站推广策划书怎么说郑州网站建设公司
  • 淘宝客网站设计有没有好用的网站推荐
  • 广州网站建设推广百度公司总部在哪里
  • 建设银行网站介绍免费推广软件哪个好
  • 汕头做网站公司哪家好营销策略有哪些有效手段
  • 赣州做网站的公司有哪家襄阳seo培训
  • 国外浏览器网站巨量引擎广告投放平台代理
  • 内部网站建设公司百度客服人工电话多少
  • 网站设计书的结构石家庄新闻头条新闻最新今天
  • 建企业网站行业网国家免费职业技能培训官网