Java_myBatis入门写法

时间:2021-10-14 01:01:13

一.整体步骤

Java_myBatis入门写法

1.读取全局配置文件“SqlMapConfig.xml”

2.用SqlSessionFactoryBuilder来创建一个SqlSessionFactory

3.用创建好的SqlSessionFactory创建一个SqlSession

4.用创建好的SqlSession来读取对应的映射配置文件“Mapper1.xml”,并传入参数

5.返回结果

--------------------------------------------------------------------------------------------------------------------------------------------

二.具体步骤

1.新建maven项目

eclipse菜单找到“File”->"new"->"Project",选择Maven Project

Java_myBatis入门写法

2.在配置文件pom.xml下的denpencies添加denpency

mybatis的jar包和mysql的jdbc驱动

<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.35</version>
</dependency>

3.在src/main下新建资源文件夹"resources",并添加SqlMapConfig.xml、具体映射配置文件Mapper.xml和数据库参数文件db.properties

Java_myBatis入门写法

SqlMapConfig.xml源码:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties resource="db.properties"></properties>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="StudentMapper.xml"/>
</mappers>
</configuration>

db.properties的源码:

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8
username=root
password=123456

Mapper.xml的源码

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="test">
<select id="selectPerson" parameterType="int" resultType="com.mavenTest.mybatis_test.Person">
select * from Persons_table where id = #{id}
</select>
</mapper>

#{}:是经过处理的相当于JDBC的PreparedStatement,简单类型时“{}”里可以写任意名字(甚至是中文)

${}:是原样输出相当于JDBC的Statement,简单类型时“{}”里必须写“value”

4.在main/java下的任意jar包中创建一个pojo,这里例如是Person.class(注意对应好上面的resultType的路径)

public class Person{
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

5.在java/main的任意jar包创建一个任意类

public class pratise {
public static void main(String[] args) throws IOException{
// 读取全局配置文件
InputStream is = Resources.getResourceAsStream("SqlMapConfig.xml");
// 用SqlSessionFactoryBuilder来创建SqlSessionFactory实例
SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(is);
// 用SqlSessionFactory实例来创建SqlSession实例
SqlSession ss = ssf.openSession();
// 通过SqlSession实例来查询映射配置文件,然后传入参数,执行sql语句
Student s = ss.selectOne("selectStudent", 827);
// 关闭SqlSession实例
ss.close();
System.out.println(s.getName());
}
}

这样就已经可以实现数据库语句的调用了

Java_myBatis入门写法的更多相关文章

  1. 【题解】Luogu P2730 魔板

    蒟蒻的第一道蓝题--好像也没有蓝的程度 一篇无STL的超弱题解(入门写法无误了QAQ 传送门 很经典的一道BFS 这是初始状态. 操作A 操作B 操作C 思路1 不使用cantor展开的情况 1. 对 ...

  2. python模块和类的通用转换规则(2),三步转oo

    介绍模块和类怎么互相转换,不谈面向对象的继承 封装 多态等特点. 一个person_module模块,有人的基本属性和功能. person_module.py如下 # coding=utf8 name ...

  3. 不一样的入门:看C&num; Hello World的17种写法

    摘要:本文针对不同阶段.不同程度的C#学习者,介绍了C# Hello World的17种不同写法,希望会对大家有所帮助.(C# Hello World写法入门.C# Hello World写法进阶.C ...

  4. ACM java写法入门

    打2017icpc沈阳站的时候遇到了大数的运算,发现java与c++比起来真的很赖皮,竟然还有大数运算的函数,为了以后打比赛更快的写出大数的算法并且保证不错,特意在此写一篇博客, 记录java的大数运 ...

  5. 【重点】Shell入门教程:流程控制(2)条件判断的写法

    第三节:条件判断的写法 if条件判断中,if的语法结构中的“条件判断”可以有多种形式.测试结果是真是假,就看其传回的值是否为0. 条件测试的写法,有以下10种: 1.执行某个命令的结果 这里的命令,可 ...

  6. HTML5入门4---HTML5 与 HTML4 同一网页的不同写法

    HTML4写法 css: body { font-family: "Lucida Sans Unicode", "Lucida Grande", Verdana ...

  7. node&period;js模块化写法入门

    子模块的写法: function SVN(){ console.log('svn initialized'); return this; } function getInstance() { cons ...

  8. vue init定制团队模板之meta&period;js&sol;meta&period;json写法入门

    在上一篇文章中,我们提到了meta.js,这次我们详细了解一下meta.js里面各个模块的写法. 对于 meta.js/metajson 文件, 目前主要字段如下: prompts<Object ...

  9. JavaScript入门:004—JS凝视的写法和基本运算符

    JS的凝视JS中加凝视和寻常写C#代码是几乎相同的.有//和/* */这两种.单行凝视使用双斜杠比如. <script type="text/javascript"> ...

随机推荐

  1. -bash&colon; &sol;bin&sol;rm&colon; Argument list too long

    使用rm * -f删除缓存目录文件时,报如下错误 -bash: /bin/rm: Argument list too long 提示文件数目太多. 解决的办法是使用如下命令: ls | xargs - ...

  2. VMware下利用ubuntu13&period;04建立嵌入式开发环境之五

    tftp和nfs服务器配置 一.tftp服务器配置 1.安装软件包 1.1安装服务 apt-get install tftpd-hpa 1.2安装客户端 apt-get install tftp-hp ...

  3. 第四周 技术随笔psp

    本周psp 类型 内容 开始时间 结束 打断时间 净时间 写随笔 Scrum会议 23:46 00:27 0 41分

  4. cms开发笔记2

    1 创建数据库表 //配置文件CREATE TABLE IF NOT EXISTS `mc_config` ( `en_name` varchar(80) NOT NULL, `ch_name` va ...

  5. 蓝桥杯-循环节长度-java

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...

  6. thymeleaf 货币格式化 数字格式化问题

    格式化数字对象 ${'¥'+#numbers.formatDecimal(pro.price,0,'COMMA',2,'POINT')} ${'¥'+#numbers.formatDecimal(pr ...

  7. 使用ESMap的地图平台开发三维地图

      本文简单的介绍使用ESmap的SDK开发(DIY自己地图的)一个地图的过程.若有不足,欢迎指正. 一.创建地图 只需四步,从无到有,在浏览器中创建一个自己的三维地图,炫酷到爆! 第一步:引入ESM ...

  8. 【3】学习C&plus;&plus;之const关键字的使用

    在C++中,const关键字是控制变量是否可以变化的,是否能够用好const关键字是区别小白和大佬的重要指标(大雾). 1.const与基本数据类型 ; //a是变量,a的值可以在后续操作中进行更改. ...

  9. Faster R-CNN改进篇(二): RFCN ● RON

    @改进1:RFCN 论文:R-FCN: Object Detection via Region-based Fully Convolutional Networks    [点击下载] MXNet代码 ...

  10. 为 &OpenCurlyDoubleQuote;超级大脑”构建支撑能力,腾讯云聚焦AI技术落地

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 5月24日,以"*数据.无限智能"为主题的2018腾讯"云+未来"峰会AI大数据分论坛在广州拉开帷 ...