Mybaits入门工程的搭建

1、简单创建一个java工程,导入依赖jar包

在工程下新建一个lib包,把要用到的jar包复制粘贴进去,然后全选右键add build path

2、配置SqlMapConfig.xml

1、右击工程新建一个Source Folder,命名为Config(可自由命名)用来存放配置文件

2、右击刚刚新建的Config,新建一个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>
<!-- default 引用 environment 的 id,当前所使用的环境 --><environments default="default">
<!-- 声明可以使用的环境 ,环境可以有多个(当连接不同数据库的时候)--><environment id="default">
<!-- 使用原生 JDBC 事务 --><transactionManager type="JDBC"></transactionManager><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/数据库名"/><property name="username" value="用户名"/><property name="password" value="密码"/></dataSource></environment></environments><!--resource:加载SQL语句文件 -->
<mappers>
<mapper resource="mybatis/user.xml"/>
</mappers></configuration>
3、配置log4j.properties

在src下新建一个log4j.properties文件,Log4j可以使日志输出到控制台或文件中,便于观察。

log4j.rootCategory=DEBUG, CONSOLE ,LOGFILElog4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%C %d{YYYY-MM-dd hh:mm:ss} %m %nlog4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=E:/my.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%C %m%L %n
4、映射文件与SQL
<?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="a.b" >
<!-- id:方法名
parameterType:定义参数类型
resultType:返回值类型. 如果方法返回值是 list,在 resultType 中写 List 的泛型,
因为 mybatis
对 jdbc 封装,一行一行读取数据
--><select id="getUserById" resultType="com.java.pojo.User"><!-- #{id}相当于jdbc的问号? -->select * from stus where id = #{id}</select><select id="selectAll" resultType="com.java.pojo.User">select * from stus</select></mapper>
5、User类
package com.java.pojo;public class User {private Integer id;private String username;// 用户姓名private String password;// 性别public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "User [id=" + id + ", username=" + username + ", password=" + password + "]";}}
6、Mybaits访问数据库代码(selectOne)
package com.java.text;import java.io.IOException;
import java.io.InputStream;
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 com.java.pojo.User;public class Test {public void testGetId() {try {//创建SqlSessionFactoryBuilder对象SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder();//创建核心配置文件的输入流InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");//通过输入流创建SqlSessionFactory对象SqlSessionFactory sessionFactory = ssfb.build(inputStream);//创建SqlSession对象SqlSession session = sessionFactory.openSession();//执行查询User user = session.selectOne("a.b.getUserById", 1);System.out.println(user);session.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void main(String[] args){Test test = new Test();test.testGetId();}
}

这里有一个需要注意的地方,就是session.selectOne(“a.b.getUserById”, 1)里面的getUserById前面的名字要与SQL映射文件的mapper namespace=“a.b” 名字相对应,不然会无法加载文件

(selectList)
 List<User> user = session.selectList("a.b.selectAll");for (User user1 : user) {System.out.println(user1);}
(selectMap)
 Map<Integer, User> map = session.selectMap("a.b.selectAll", "id");System.out.println(map);Set<Integer> set = map.keySet();for (Integer id: set) {System.out.println(map.get(id));}


正在尝试写博客,把会的分享给你们,如有写的不好的地方,希望指点一下,谢谢!

Mybaits入门搭建工程(selectOne,selectList,selectMap的用法)相关推荐

  1. Maven项目的介绍、入门搭建

    Maven项目的介绍.入门搭建 一.什么是Maven项目 Maven 是 Apache 组织下的一个跨平台的项目管理工具,它主要用来帮助实现项目的构建.测试.打包和部署.Maven 提供了标准的软件生 ...

  2. React+Redux开发实录(一)搭建工程脚手架

    React+Redux开发实录(一)搭建工程脚手架 React+Redux开发实录(二)React技术栈一览 搭建工程脚手架 准备工作 安装node 安装git 安装一款前端IDE 推荐VSCode, ...

  3. 搭建环境_maven: 搭建工程: ssm整合: 搭建测试:

    2019独角兽企业重金招聘Python工程师标准>>> 搭建环境_maven: 搭建工程: ssm整合: 搭建测试: 搭建环境问题解决: 转载于:https://my.oschina ...

  4. STM32F407之搭建工程

    STM32F407之搭建工程 一,使用软件和工具: 1,MDK5 2,串口调试助手:XCOM V2.0 3,烧写程序软件:FlyMcu 4,ST-Link仿真器 二,使用MDK5软件要点 1,选中MC ...

  5. 说一下dubbo项目简单的搭建过程_dubbo学习(1)--简单的入门搭建实例

    1 简介 dubbo是一个分布式服务框架,由阿里巴巴的工程师开发,致力于提供高性能和透明化的RPC远程服务调用.可惜的是该项目在2012年之后就没有再更新了,之后由当当基于dubbo开发了dubbox ...

  6. Python人脸识别——从入门到工程实践

    参考书籍:<Python人脸识别从入门到工程实践> 全书共8章: 第 1 章:介绍了人脸识别的基础知识和必备常识: 第 2~4 章:详细讲解了与人脸识别相关的数学.机器学习.计算机视觉.O ...

  7. 【用户画像】用户画像添加标签、定义标签任务、搭建工程

    文章目录 一 标签管理 1 标签列表 2 添加标签 (1)添加一级标签 (2)添加二级标签 (3)添加三级标签 (4)添加四级标签 (5)数据库标签字段说明 (6)数据库中存储 3 标签任务 (1)填 ...

  8. GD32F103配置环境,搭建工程

    硬件及软件环境 硬件环境:GD32F103T8U6 IDE环境:MDK v5.21 资料下载 进入兆易创新官网(http://www.gd32mcu.com/cn),点击资料下载. 下载GD32F10 ...

  9. ASP.NET就业实例视频教程(1)基础入门——搭建网站开发环境教学视频-徐照兴-专题视频课程...

    ASP.NET就业实例视频教程(1)基础入门--搭建网站开发环境教学视频-356人已学习 课程介绍         [课程特色] 1.课程设计循序渐进.讲解细致.通俗易懂.非常适合自主学习 2.教学过 ...

  10. 使用vue-cli搭建工程

    使用脚手架搭建vue工程 vue-cli的安装 使用官方的vue脚手架 vue-cli webpack babel - 安装node node中自带了npm包管理器. 验证安装node 打开终端查看n ...

最新文章

  1. npm安装不上nodemon_node.js - NPM安装在nodemon@1.18.9后安装脚本处失败 - 堆栈内存溢出...
  2. Palo Alto Networks全球化安全堡垒理念 提升企业防御能力
  3. 命令注入_命令注入绕过方式总结
  4. ShardingSphere(二) 水平分表配置搭建,实现分表写入读取
  5. firewall添加白名单_linux配置防火墙 Centos7下 添加 端口白名单
  6. BAD packet signature 18245
  7. HDU 4849 Wow! Such City!陕西邀请赛C(最短路)
  8. 《CSS权威指南》读书笔记4
  9. 第一章: 利用神经网络识别手写数字
  10. C语言100题练习计划 32——猜数字游戏
  11. 隐马尔可夫--大内密探HMM围捕赌场老千
  12. PHP中的list方法
  13. jedispool 为redis保驾护航
  14. 正则表达式匹配邮箱账号
  15. python函数调用时等价_python 之 函数
  16. 斯诺登最新泄漏文档:揭秘美国秘密监控基地——澳大利亚“松树谷”
  17. 安装SQL Server2008的示例数据库AdventureWorks 2008
  18. 【知识图谱】知识图谱的基础概念与构建流程
  19. 涂鸦智能:云服务让海外客户也能享受本地化体验
  20. AMR数据多帧封装成RTP数据

热门文章

  1. 电路方案分析(十三)采用 CAN 的汽车分立式 SBC 预升压、后降压参考设计方案
  2. python发送文件到指定的邮箱_python笔记:批量将指定附件发送到指定邮箱地址
  3. 2019杭电多校三 C. Yukikaze and Demons (点分治)
  4. Honeywell全系列打印机驱动interdriver 2019.M-3
  5. 校园外卖市场调查分析,用户主要有5大需求!
  6. linux tar压缩排除指定文件夹
  7. Matlab神经网络(一)
  8. java常见异常思维导图_Java知识思维导图
  9. webstorm汉化怎样切回英文_我不小心把NS切成英文/日文系统了,怎样回到中文系统?...
  10. 计算机怎样打开鼠标点的键盘,电脑软键盘怎么打?