我个人喜欢把所需要使用到的包先建立好。配置文件先创建好。
5)添加mybatis配置文件mybatis.cfg.xml
1?<?xml version="1.0"?encoding="UTF-8"?>
2?<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
?3?<configuration>
4?
5 ??<!-- 引入外部配置文件 -->
6 ??<properties?resource="mysql.properties"></properties>
7 ? ?
8 ? ?<!-- 配置mybatis运行环境 -->
9 ? ? ?<environments?default="cybatis">
10 ? ? ? ??<environment?id="cybatis">
11 ? ? ? ? ? ??<!-- type="JDBC" 代表使用JDBC的提交和回滚来管理事务 -->
12 ? ? ? ? ? ??<transactionManager?type="JDBC"?/>
13 ? ? ? ? ? ??
14 ? ? ? ? ? ??<!-- mybatis提供了3种数据源类型,分别是:POOLED,UNPOOLED,JNDI -->
15 ? ? ? ? ? ??<!-- POOLED 表示支持JDBC数据源连接池 -->
16 ? ? ? ? ? ??<!-- UNPOOLED 表示不支持数据源连接池 -->
17 ? ? ? ? ? ??<!-- JNDI 表示支持外部数据源连接池 -->
18 ? ? ? ? ? ??<dataSource?type="POOLED">
19 ? ? ? ? ? ? ? ??<property?name="driver"?value="${jdbc.driver}"?/>
20 ? ? ? ? ? ? ? ??<property?name="url"?value="${jdbc.url}"?/>
21 ? ? ? ? ? ? ? ??<property?name="username"?value="${jdbc.username}"?/>
22 ? ? ? ? ? ? ? ??<property?name="password"?value="${jdbc.password}"?/>
23 ? ? ? ? ? ??</dataSource>
24 ? ? ? ??</environment>
25 ? ??</environments>?
26 ? ??
27?</configuration>
6)创建对应的实体对象
对应的java代码:
1?package?com.cy.mybatis.beans;
2?
3?import?java.io.Serializable;
4?
5?public?class?UserBean?implements?Serializable{
6?
7?? ??private?static?final?long?serialVersionUID =?1L;
8?? ??private?Integer id;
9?? ??private?String username;
10?? ??private?String password;
11?? ??private?Double account;
12?? ??
13?? ??public?UserBean() {
14?? ? ? ??super();
15?? ? }
16?? ??
17?? ??public?UserBean(String username, String password, Double account) {
18?? ? ? ??super();
19?? ? ? ??this.username = username;
20?? ? ? ??this.password = password;
21?? ? ? ??this.account = account;
22?? ? }
23?
24?? ??public?UserBean(Integer id, String username, String password, Double account) {
25?? ? ? ??super();
26?? ? ? ??this.id = id;
27?? ? ? ??this.username = username;
28?? ? ? ??this.password = password;
29?? ? ? ??this.account = account;
30?? ? }
31?
32?? ??public?Integer?getId() {
33?? ? ? ??return?id;
34?? ? }
35?
36?? ??public?void?setId(Integer id) {
37?? ? ? ??this.id = id;
38?? ? }
39?
40?? ??public?String?getUsername() {
41?? ? ? ??return?username;
42?? ? }
43?
44?? ??public?void?setUsername(String username) {
45?? ? ? ??this.username = username;
46?? ? }
47?
48?? ??public?String?getPassword() {
49?? ? ? ??return?password;
50?? ? }
51?
52?? ??public?void?setPassword(String password) {
53?? ? ? ??this.password = password;
54?? ? }
55?
56?? ??public?Double?getAccount() {
57?? ? ? ??return?account;
58?? ? }
59?
60?? ??public?void?setAccount(Double account) {
61?? ? ? ??this.account = account;
62?? ? }
63?
64?? ??@Override
65?? ??public?String?toString() {
66?? ? ? ??return?"UserBean [id="?+ id +?", username="?+ username +?", password="
67?? ? ? ? ? ? ? ? + password +?", account="?+ account +?"]";
68?? ? }
69?? ??
70?? ??
71?? ??
72?
73?}
7)创建方法接口UserMapper.java和定义操作t_user表的sql映射文件UserMapper.xml
?提供简单的增删改查数据信息。
1?package?com.cy.mybatis.mapper;
2?
3?import?java.util.List;
4?
5?import?com.cy.mybatis.beans.UserBean;
6?
7?public?interface?UserMapper {
8?? ??/**
9 ? ? ?* 新增用戶
10 ? ? ?*?@param?user
11 ? ? ?*?@return
12 ? ? ?*?@throws?Exception
13 ? ? ?*/
14?? ??public?int?insertUser(UserBean user)?throws?Exception;
15?? ??/**
16 ? ? ?* 修改用戶
17 ? ? ?*?@param?user
18 ? ? ?*?@param?id
19 ? ? ?*?@return
20 ? ? ?*?@throws?Exception
21 ? ? ?*/
22?? ??public?int?updateUser?(UserBean user,int?id)?throws?Exception;
23?? ? ?/**
24 ? ? ? * 刪除用戶
25 ? ? ? *?@param?id
26 ? ? ? *?@return
27 ? ? ? *?@throws?Exception
28 ? ? ? */
29?? ??public?int?deleteUser(int?id)?throws?Exception;
30?? ??/**
31 ? ? ?* 根据id查询用户信息
32 ? ? ?*?@param?id
33 ? ? ?*?@return
34 ? ? ?*?@throws?Exception
35 ? ? ?*/
36?? ??public?UserBean?selectUserById(int?id)?throws?Exception;
37?? ? ?/**
38 ? ? ? * 查询所有的用户信息
39 ? ? ? *?@return
40 ? ? ? *?@throws?Exception
41 ? ? ? */
42?? ??public?List<UserBean>?selectAllUser()?throws?Exception;
43?}
UserMapper.xml
1?<?xml version="1.0"?encoding="UTF-8"?>
2?<!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
?3?<mapper?namespace="com.cy.mybatis.mapper.UserMapper">
4?<!-- 自定义返回结果集 -->
5 ? ?<resultMap?id="userMap"?type="UserBean">
6 ? ? ? ??<id?property="id"?column="id"?javaType="java.lang.Integer"></id>
7 ? ? ? ??<result?property="username"?column="username"?javaType="java.lang.String"></result>
?8 ? ? ? ??<result?property="password"?column="password"?javaType="java.lang.String"></result>
?9 ? ? ? ??<result?property="account"?column="account"?javaType="java.lang.Double"></result>
10 ? ??</resultMap>
11?<!-- 在各种标签中的id属性必须和接口中的方法名相同 , id属性值必须是唯一的,不能够重复使用。parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型-->?? ?
12?<!-- useGeneratedKeys:( 仅 对 insert 有 用 ) 这 会 告 诉 MyBatis 使 用 JDBC 的getGeneratedKeys?
13 ? ? ? ? ? ? 方法来取出由数据(比如:像 MySQL 和 SQLServer 这样的数据库管理系统的自动递增字段)内部生成的主键。默认值: false。 -->?? ?
14?<!--keyProperty: (仅对 insert有用)标记一个属性, MyBatis 会通过 getGeneratedKeys或者通过 insert 语句的 selectKey 子元素设置它的值。默认:不设置。 -->
15?<!--#{}中的内容,为占位符,当参数为某个JavaBean时,表示放置该Bean对象的属性值 ?-->
16?
17?
18 ? ??<insert?id="insertUser"?useGeneratedKeys="true"?keyProperty="id">
19 ? ? ? ? insert into t_user (username,password,account) values (#{username},#{password},#{account})
20 ? ??</insert>
21 ? ??
22 ? ??<update?id="updateUser"?>
23 ? ? ? update t_user set username=#{username},password=#{password},account=#{account} where id=#{id}
24 ? ??</update>
25 ? ??
26 ? ??<delete?id="deleteUser"?parameterType="int">
27 ? ? ?delete from t_user where id=#{id} ?
28 ? ??</delete>
29 ? ??
30 ? ??<select?id="selectUserById"?parameterType="int"?resultMap="userMap">
31 ? ? ?select * from t_user where id=#{id}
32 ? ??</select>
33 ? ??
34 ? ??<select?id="selectAllUser"?resultMap="userMap">
35 ? ? ?select * from t_user
36 ? ??</select>
37 ? ??
38 ? ??
39?</mapper>
这时需要为mybatis.cfg.xml里注册UserMapper.xml文件。
1?<?xml version="1.0"?encoding="UTF-8"?>
2?<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
?3?<configuration>
4?
5 ??<!-- 引入外部配置文件 -->
6 ??<properties?resource="mysql.properties"></properties>
7 ??
8 ??
9 ? ?<!-- 为JAVA Bean起类别名 -->
10 ? ?<typeAliases?>
11 ? ? ? ??<!-- 别名方式1,一个一个的配置 type中放置的是类的全路径,alias中放置的是类别名
12 ? ? ? ? <typeAliase type="com.cy.mybatis.beans.UserBean" alias="UserBean"/> -->
13 ? ? ? ??<!-- 别名方式2,自动扫描,将JAVA类的类名作为类的类别名 -->
14 ? ? ? ??<package?name="com.cy.mybatis.beans"/>
15 ? ?</typeAliases>
16 ? ?
17 ? ?
18 ? ?<!-- 配置mybatis运行环境 -->
19 ? ? ?<environments?default="cybatis">
20 ? ? ? ??<environment?id="cybatis">
21 ? ? ? ? ? ??<!-- type="JDBC" 代表使用JDBC的提交和回滚来管理事务 -->
22 ? ? ? ? ? ??<transactionManager?type="JDBC"?/>
23 ? ? ? ? ? ??
24 ? ? ? ? ? ??<!-- mybatis提供了3种数据源类型,分别是:POOLED,UNPOOLED,JNDI -->
25 ? ? ? ? ? ??<!-- POOLED 表示支持JDBC数据源连接池 -->
26 ? ? ? ? ? ??<!-- UNPOOLED 表示不支持数据源连接池 -->
27 ? ? ? ? ? ??<!-- JNDI 表示支持外部数据源连接池 -->
28 ? ? ? ? ? ??<dataSource?type="POOLED">
29 ? ? ? ? ? ? ? ??<property?name="driver"?value="${jdbc.driver}"?/>
30 ? ? ? ? ? ? ? ??<property?name="url"?value="${jdbc.url}"?/>
31 ? ? ? ? ? ? ? ??<property?name="username"?value="${jdbc.username}"?/>
32 ? ? ? ? ? ? ? ??<property?name="password"?value="${jdbc.password}"?/>
33 ? ? ? ? ? ??</dataSource>
34 ? ? ? ??</environment>
35 ? ??</environments>?
36 ? ??
37 ? ??
38 ? ??<mappers>
39 ? ? ? ??<!-- 告知映射文件方式1,一个一个的配置
40 ? ? ? ? <mapper resource="com/cy/mybatis/mapper/UserMapper.xml"/>-->
41 ? ? ? ??<!-- 告知映射文件方式2,自动扫描包内的Mapper接口与配置文件 -->
42 ? ? ? ??<package?name="com/cy/mybatis/mapper"/>
43 ? ??</mappers>
44?</configuration>
8)需要建立一个工具类文件
1?package?com.cy.mybatis.tools;
2?
3?import?java.io.Reader;
4?
5?import?org.apache.ibatis.io.Resources;
6?import?org.apache.ibatis.session.SqlSession;
7?import?org.apache.ibatis.session.SqlSessionFactory;
8?import?org.apache.ibatis.session.SqlSessionFactoryBuilder;
9?
10?public?class?DBTools {
11?? ??public?static?SqlSessionFactory sessionFactory;
12?? ??
13?? ??static{
14?? ? ? ??try?{
15?? ? ? ? ? ??//使用MyBatis提供的Resources类加载mybatis的配置文件
16?? ? ? ? ? ? Reader reader = Resources.getResourceAsReader("mybatis.cfg.xml");
17?? ? ? ? ? ??//构建sqlSession的工厂
18?? ? ? ? ? ? sessionFactory =?new?SqlSessionFactoryBuilder().build(reader);
19?? ? ? ? }?catch?(Exception e) {
20?? ? ? ? ? ? e.printStackTrace();
21?? ? ? ? }
22?? ? ? ??
23?? ? }
24?? ??//创建能执行映射文件中sql的sqlSession
25?? ??public?static?SqlSession?getSession(){
26?? ? ? ??return?sessionFactory.openSession();
27?? ? }
28?? ??
29?}
9)写个测试
1?package com.cy.mybatis.service;
2?
3?import?java.util.List;
4?
5?import?org.apache.ibatis.session.SqlSession;
6?
7?import?com.cy.mybatis.beans.UserBean;
8?import?com.cy.mybatis.tools.DBTools;
9?import?com.cy.mybatis.mapper.UserMapper;
10?
11?public?class?UserService?{
12?
13?? ?
14?15?? ? ?
16?? ??public?static?void?main(String[] args) {
17?? ? ? ? ? insertUser();
18?// ? ? ? ?deleteUser();
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/140417.html