Mybatis的入门示例代码

 更新时间:2016年11月02日 10:50:50   作者:Dream晓  
首先新建一个JavaWeb项目并导入mybatis依赖的jar包,同时Mybatis是对数据库的操作所以我们需要在数据库中新建一个表user用来演示。下面通过本文给大家详细介绍Mybatis的入门示例代码,感兴趣的朋友一起看看吧

首先新建一个JavaWeb项目并导入mybatis依赖的jar包,同时Mybatis是对数据库的操作所以我们需要在数据库中新建一个表user用来演示。

新建完表之后我们还需要建立相对应的实体类User.java并添加set和get方法:

public class User {
private String username;
private String password;
private int age;
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;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}

在Mybatis中我们需要建立一个与实体类相对应的映射文件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,namespace的值习惯上设置成包名+sql映射文件名)
-->
<mapper namespace="com.mybatis.mapping.userMapper">
<!-- 在select标签中编写查询的SQL语句,id属性值必须是唯一的
使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型
-->
<!-- 
根据username查询得到一个user对象
-->
<select id="getUser" parameterType="java.lang.String" 
resultType="com.mybatis.po.User">
select * from user where username=#{username}
</select>
<delete id="deleteUser" parameterType="java.lang.String">
delete from user where username=#{username}
</delete>
</mapper>

最后我们需要在src下新建一个Mybatis与数据库连接的配置文件config.xml,并将上面的userMapper.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="" />
</dataSource>
</environment>
</environments>
<mappers>
<!-- 注册userMapper.xml文件,resource为userMapper.xml所在目录-->
<mapper resource="com/mybatis/mapping/userMapper.xml"/>
</mappers>
</configuration>

这里的配置数据库连接信息和Hibernate差别不是很大,现在我们新建一个Test类来测试一下:

public class Test {
public static void main(String[] args) throws IOException {
//mybatis的配置文件
String resource = "config.xml";
//使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
InputStream is = Test.class.getClassLoader().getResourceAsStream(resource);
//构建sqlSession的工厂
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
//打开session
SqlSession session = sessionFactory.openSession();
/**
* 映射sql的标识字符串
*com.mybatis.mapping.userMapper是userMapper.xml文件中mapper标签的namespace属性的值,
* getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL
*/
String statement = "com.mybatis.mapping.userMapper.getUser";//映射sql的标识字符串
//执行查询返回一个唯一user对象的sql
User user = session.selectOne(statement,"username1");
System.out.println(user.getUsername());
String statement2="com.mybatis.mapping.userMapper.deleteUser";
session.delete(statement2,user);
}
}

执行selectOne方法会返回一个user对象(如果想要查询多条数据可以用selectList,此方法会返回List<User>的对象),我们在控制台输出user对象的username.执行delete方法可以直接将对象对应的一条数据删除,可以根据数据库中的变化来判断是否执行成功。下面是我的项目的目录,大家可以参考一下:

以上就是Mybatis的一个简单示例,当然在userMapper.xml中我们还可以用OGNL生成动态sql语句,感兴趣的可以自己研究一下。希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Spring Cloud Eureka(全面解析) 大白话

    Spring Cloud Eureka(全面解析) 大白话

    这篇文章主要介绍了Spring Cloud Eureka(全面解析) 大白话,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • 解读@ResponseBody与@RequestBody注解的用法

    解读@ResponseBody与@RequestBody注解的用法

    这篇文章主要介绍了Spring MVC中的@ResponseBody和@RequestBody注解的用法,@ResponseBody注解用于将Controller方法的返回对象转换为指定格式(如JSON)并通过Response响应给客户端,@RequestBody注解用于读取HTTP请求的内容
    2024-11-11
  • Quarkus云原生开篇java框架简介

    Quarkus云原生开篇java框架简介

    Quarkus 是小红帽开源的专门针对云容器环境优化的云原生java框架,博主接下来的项目估计都会使用这个框架来开发,相关的问题都会记录在这个系列,本文是个开篇
    2022-02-02
  • javaweb判断当前请求是否为移动设备访问的方法

    javaweb判断当前请求是否为移动设备访问的方法

    这篇文章主要为大家详细介绍了javaweb判断当前请求是否为移动设备访问的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • java.net.UnknownHostException异常的一般原因及解决步骤

    java.net.UnknownHostException异常的一般原因及解决步骤

    关于java.net.UnknownHostException大家也许都比较熟悉,这篇文章主要给大家介绍了关于java.net.UnknownHostException异常的一般原因及解决步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • Java分布式锁理论(redis、zookeeper))案例详解

    Java分布式锁理论(redis、zookeeper))案例详解

    zookeeper有个节点路径的概念,节点路径不能重复,保证了唯一性,这篇文章给大家介绍Java分布式锁理论(redis、zookeeper) 案例详解,感兴趣的朋友跟随小编一起看看吧
    2024-01-01
  • springboot 整合 langchain4j 实现简单的问答功能

    springboot 整合 langchain4j 实现简单的问答功能

    最近在学习langchain4j,本文将介绍如何使用langchain4j快速实现一个简单的问答功能,结合实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2025-04-04
  • 如何通过Java实现PDF转高质量图片

    如何通过Java实现PDF转高质量图片

    在Java中,将PDF文件转换为高质量的图片可以使用不同的库,其中最常用的库之一是 Apache PDFBox,下面我们就来看看这个库的具体使用吧
    2024-10-10
  • java实现图片文字识别ocr

    java实现图片文字识别ocr

    这篇文章主要介绍了java实现图片文字识别ocr ,非常具有实用价值,需要的朋友可以参考下
    2017-08-08
  • mybatis 字段名自动转小写的实现

    mybatis 字段名自动转小写的实现

    这篇文章主要介绍了mybatis 字段名自动转小写的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03

最新评论