java之mybatis之helloworld
1. MyBatis 是一款一流的支持自定义SQL、存储过程和高级映射的持久化框架。
MyBatis几乎消除了所有的 JDBC 代码,也基本不需要手工去设置参数和获取检索结果。
MyBatis几乎能够使用所有简单的 XML 格式 或注解来进行配置,能够映射基本数据元素、Map 接口和 POJOs(普通java对象)到数据库中的记录。
2. MyBatis是一款半自动化的orm框架。
3. MyBatis 也叫 ibatis。
4.下面演示一个mybatis的简单案例
目录结构如下:

(1). 新建 java 项目 :mybatis_helloworld
(2). 在目录结构的lib下导入mybatis需要的jar包, 并且 build 操作
mybatis-3.2.7.jar
mysql-connector-java-5.1.20-bin.jar
(3). 在 src 下编写 mybatis 的核心配置文件
mybatis.cfg.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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/test" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="cn/vincent/vo/UserMapper.xml"/>
</mappers>
</configuration>
(4). 编写 vo 类
User.java
 package cn.vincent.vo;
 import java.io.Serializable;
 public class User implements Serializable{
     private int id;
     private String name;
     private int age;
     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;
     }
     public int getAge() {
         return age;
     }
     public void setAge(int age) {
         this.age = age;
     }
     @Override
     public String toString() {
         return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
     }
 }
(5) . 编写映射文件
UserMapper.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="cn.vincent.vo.UserMapper">
<select id="selectUser" parameterType="int" resultType="cn.vincent.vo.User">
select * from t_user where id = #{id}
</select>
</mapper>
(6). 测试
Demo.java(位置可参考目录结构)
package cn.vincent.mybatis; import java.io.IOException;
import java.io.Reader; 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 cn.vincent.vo.User; public class Demo { public static void main(String[] args) throws IOException{
Reader reader=Resources.getResourceAsReader("mybatis.cfg.xml");
SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader);
SqlSession session=sqlMapper.openSession();
User user=session.selectOne("cn.vincent.vo.UserMapper.selectUser",1);
System.out.println(user);
}
}
github地址:https://github.com/Vincent-yuan/mybatis_helloworld
java之mybatis之helloworld的更多相关文章
- 初探MyBatis之HelloWorld(三)
		三.用SQL映射语句用注解,dataSource用xml(不推荐). 综合上面两节(一个用xml,一个用annotation),发现一个好玩儿的,SQL映射用注解方式,然后还是得有两个xml配置文件. ... 
- 详解Java的MyBatis框架中SQL语句映射部分的编写
		这篇文章主要介绍了Java的MyBatis框架中SQL语句映射部分的编写,文中分为resultMap和增删查改实现两个部分来讲解,需要的朋友可以参考下 1.resultMap SQL 映射XML 文件 ... 
- FreeMarker 生成Java、mybatis文件
		FreeMarker 生成Java.mybatis文件 将mysql数据库表通过FreeMarker生成对应的Java文件和对应的mybatis文件. FreeMarker是一款模板引擎: 即一种基于 ... 
- maven   依赖文件 pom.xml   编译 mvn compile         运行 不用mvn exec:java -Dexec.mainClass="hello.HelloWorld"    打成jar包 mvn package   mvn install   http://blog.csdn.net/yaya1943/article/details/48464371
		使用maven编译Java项目 http://blog.csdn.net/yaya1943/article/details/48464371 使用"mvn clean"命令清除编 ... 
- 杂项-Java:MyBatis
		ylbtech-杂项-Java:MyBatis 1.返回顶部 1. MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundatio ... 
- Intellij IDEA +MAVEN+Jetty实现Mybatis的HelloWorld
		1 maven配置:pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="ht ... 
- java入门第二步之helloworld【转】
		前一篇博客已经介绍了jdk的安装:接下来我们就乘热打铁,完成第一个程序:helloworld(每学一样程序的新东西都是从实现helloworld开始的) 1.不是用开发工具IDE,只是使用记事本来实现 ... 
- Java基础01 ------ 从HelloWorld到面向对象
		Java是完全面向对象的语言.Java通过虚拟机的运行机制,实现“跨平台”的理念.我在这里想要呈现一个适合初学者的教程,希望对大家有用. "Hello World!" 先来看一个H ... 
- Java RMI简单例子HelloWorld
		Java RMI 指的是远程方法调用 (Remote Method Invocation).它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法.可以用此方 ... 
随机推荐
- 如何设置select只读不可编辑且select的值可传递(摘自百度)
			selectname="role"id="role"οnfοcus="this.defaultIndex=this.selectedIndex;&qu ... 
- NULL与nullptr
			[https://blog.csdn.net/weixin_40237626/article/details/82560012] 其实啊,在编译器进行解释程序时,NULL会被直接解释成0,所以这里的参 ... 
- spring boot整合websocket之使用自带tomcat启动项目报错记录
			项目中用到websocket,就将原来写好的websocket工具类直接拿来使用,发现前端建立连接的时候报404,经查找发现是因为原来用的是配置的外部tomcat启动,这次是spring boot自带 ... 
- Java8之list<entity>获取实体的某一字段
			示例 List<String> titles = titleList.stream().map(e -> e.get(ConstantUtil.TITLE)).collect(Col ... 
- mysql将多条结果拼接成一条结果
			1,实际数据 SELECT resource_id, resource_type FROM res_resource_mount 2,拼接之后数据 SELECT c.resource_id, GROU ... 
- [Beta阶段]第二次Scrum Meeting
			Scrum Meeting博客目录 [Beta阶段]第二次Scrum Meeting 基本信息 名称 时间 地点 时长 第二次Scrum Meeting 19/05/03 大运村寝室6楼 40min ... 
- UDP丢包原因总结
			丢包检查方法 给每个UDP包编号,对比收发端的接收到的包.对于UDP协议层上的包,例如RTP包,可以从RTP包中读出包的序列号进行判断. 抓包.发送端和接收端分别抓包.linux下可以使用tcpdum ... 
- DesktopSharing<转>
			https://github.com/PHZ76/DesktopSharing/tree/e1543975576e6c4fc5c2404b2f4c9c99c0350bd3 git:https://gi ... 
- SpringBoot项目中普通类获取http相关的类(request/response/session)
			import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import ... 
- C#反射方式调用泛型方法
			using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ... 
