问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mybatis是怎样访问数据库

发布网友 发布时间:2022-04-30 01:56

我来回答

2个回答

懂视网 时间:2022-04-30 06:17

package com.disappearwind.service; 2 3 import org.springframework.beans.factory.annotation.Autowired; 4 import org.springframework.stereotype.Repository; 5 import org.springframework.stereotype.Service; 6 7 import com.disappearwind.mapper.UserInfoMapper; 8 import com.disappearwind.model.UserInfo; 9 10 11 /** 12 * 用户service 13 * 14 */ 15 @Service 16 @Repository 17 public class UserInfoService{ 18 19 @Autowired 20 private UserInfoMapper userInfoMapper; 21 22 public UserInfo selectByPrimaryKey(Integer id){ 23 return userInfoMapper.selectByPrimaryKey(id); 24 } 25 } UserInfoService

2. Mapper层申明

技术分享
1 package com.disappearwind.mapper;
2 
3 import com.disappearwind.model.UserInfo;
4 
5 public interface UserInfoMapper {
6  UserInfo selectByPrimaryKey(Integer id);
7 }
UserInfoMapper

3. mpper.xml配置文件

技术分享
 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 3 
 4 <mapper namespace="com.disappearwind.mapper.UserInfoMapper" >
 5 
 6 <resultMap id="BaseResultMap" type="com.disappearwind.model.UserInfo">
 7  <id column="UserInfoID" property="userinfoid" jdbcType="INTEGER" />
 8  <result column="Name" property="username" jdbcType="VARCHAR" />
 9  <result column="Phone" property="phone" jdbcType="CHAR" />
10  <result column="Pwd" property="pwd" jdbcType="CHAR" />
11 </resultMap>
12 
13 <sql id="Base_Column_List">
14  UserInfoID, Name, Type, TypeRemark, HeadUrl,BigImgUrl,GreatImgUrl,
15  NickName, Sex, Status,Labels, StoryCount,
16  FriendCount, FollowerCount, FavouriteCount, HotNum,
17  CreateDate,Description
18 </sql>
19 
20 <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
21  select 
22 <include refid="Base_Column_List" />
23  from userinfo
24  where UserInfoID = #{userinfoid,jdbcType=INTEGER}
25 </select>
26 
27 </mapper>
UserInfoMapper.xml

4. 实体model层

技术分享
 1 package com.disappearwind.model;
 2 
 3 public class UserInfo {
 4 private Integer userinfoid;
 5 
 6 private String username;
 7 
 8 private String phone;
 9 
10 private String pwd;
11 
12 public Integer getUserinfoid() {
13  return userinfoid;
14  }
15 
16 public void setUserinfoid(Integer userinfoid) {
17  this.userinfoid = userinfoid;
18  }
19 
20 public String getUsername() {
21  return username;
22  }
23 
24 public void setUsername(String username) {
25  this.username = username;
26  }
27 
28 public String getPhone() {
29  return phone;
30  }
31 
32 public void setPhone(String phone) {
33  this.phone = phone;
34  }
35 
36 public String getPwd() {
37  return pwd;
38  }
39 
40 public void setPwd(String pwd) {
41  this.pwd = pwd;
42  }
43 
44 public UserInfo() {
45  }
46 }
UserInfo

5. SpringMVC配置

技术分享
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3  xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"
 4  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
 5  xmlns:aop="http://www.springframework.org/schema/aop"
 6  xsi:schemaLocation="
 7  http://www.springframework.org/schema/beans
 8  http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
 9  http://www.springframework.org/schema/context
10  http://www.springframework.org/schema/context/spring-context-4.0.xsd
11  http://www.springframework.org/schema/aop
12  http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
13  http://www.springframework.org/schema/tx
14  http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
15  ">
16 <context:component-scan base-package="com.disappearwind.*" />
17 </beans>
context.xml

注意:context.xml的位置在web.xml中的如下配置节配置

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:context.xml</param-value>
</context-param>

 

用此方案的好处:省得写DAO层,只要Mapper层的方法申明和mapper.xml的方法申明保持一致,并且文件名也保持一致(UserInfoMapper.java和UserInfoMapper.xml)就能顺利的访问

Mybatis基于注解的方式访问数据库

标签:

热心网友 时间:2022-04-30 03:25

1,首先在包下创建Configuration.xml文件,该文件的格式如下:
  < xml version="1.0" encoding="UTF-8" > <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" ""> <configuration> <environments default="dev"> <environment id="dev"> <transactionManager type="JDBC"$amp;>amp;$lt;/transactionManager> <dataSource type="POOLED"> <property name="driver" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@192.168.1.20:1521:oa" /> <property name="username" value="zhangsan" /> <property name="password" value="123" /> </dataSource> </environment> </environments> <mappers> <mapper resource="com/cissst/oa/data/UserMapper.xml" /> <mapper resource="com/cissst/oa/data/DepartmentMapper.xml" /> </mappers> </configuration>
  2,使用myBatis提供的工具类中的方法,从类路径或Configuration.xml文档所在位置加载资源文件。
  SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); 
  SqlSessionFactory factory = null; 
  // 获取SqlSessionFactory对象
  try { 
  Reader reader = Resources 
  .getResourceAsReader("com/cissst/oa/data/Configuration.xml"); 
  factory = builder.build(reader); 
  } catch (Exception e) { 
  e.printStackTrace(); 
  } 
  3,使用工厂对象获取SqlSession 对象
  SqlSession session=factory .openSession(false); 
  参数如果为true,表示该会话具有自动提交事务的功能,否则需程序员手动提交事务。
  4,使用进行数据库访问
  SqlSession session = super.getSqlSession(); 
  // 构造返回值集合
  List<UserEntity> result = new ArrayList<UserEntity>(); 
  try { 
  // 获取映射接口
  UserMapper userMapper = session.getMapper(UserMapper.class); 
  // 调用接口中的方法
  List<UserEntity> list = userMapper.getUserList(userEntity); 
  // 提交事务
  session.commit(); 
  } catch (Exception e) { 
  // 回滚事务
  session.rollback(); 
  } finally { 
  // 关闭会话
  session.close(); 
  } 
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
第一次上高速一般开哪个车道 第一次上高速开车上高速注意什么 高速四条车道的速度要求分别是多少 高速上四条车道速度规定是多少 我了个去!!诺基亚5230在程序管理里面卸载不了主题,数据线连接在电脑上... 我下载的诺基亚5230手机主题放在手机里,现在怎么没法删除呀?去哪里找它... 诺基亚5230主题无法删除 我诺基亚5230主题删不掉? 5230诺基亚手机主题为什么删除不了 小米手机在屏幕上点的时候有个圆圈滑动还有线,我截图了麻烦知道的指点... 三星R18-D007基本规格 三星R18-DY0E三星R18-DY0E存储设备 一个网友说,你再不说话,就要视频跟你说话了,我该怎么回答呢? 别人总问我“怎么这么内向?”“怎么不说话?”我该怎么回答? 别人都说我话少,不说话,我该怎么办?我性格如此,我与人谈不拢。 如果有人问你:你怎么不说话呀?应该怎样回答她,不是不开心的时候。 别人说你怎么不说话啊?怎么回答 我跟我对象见面不说话,老说我怎么不说话,怎么办。求高手指点我这人比较内向。老找不到话题 别人问我为什么总是不说话,我该怎么回答? 如何反击“你不说话,没人当你是哑巴” 这类的话? 别人说你不说话,是欺负你吗? 别人说我老不说话,很高冷,我该怎么回他们? 公共场所,别人说你怎么不说话咋回答?别人说我咋回答? 浙江的哪座城市本身知名度不高,下辖县区市却中外驰名? 你好,我给别人打电话,他的手机上会显示我所在公司的名字,应该怎么取消? iphone7怎么去掉本机号码显示的名字? 办理工商银行房贷需要什么手续? 浙江潜力最大的县城,是哪个县呢? 别人老是说我不说话怎么办 浙江最牛逼的旅游县仅靠民宿就吸引210万人,你知道是哪个县吗? 苹果手机设置界面怎么取消名字显示? 给别人打电话时,别人手机上显示我的名字,怎么取消,我用的是XR? 苹果13贴后膜伤机吗 苹果13贴膜右上角起来一大块 美团堂食扫码点餐的菜品怎么下架? 苹果13手机都贴膜了吗?裸机感觉不太能行啊 拼好饭怎么下架 苹果13手机贴膜会有颗粒感吗? iPhone13的手机膜跟iPhone7p一样吗 苹果13手机膜为什么感觉有阴影 为什么美团外卖有的菜上不了架显示价格虚高不能上架? 苹果授权店13贴膜比外面的好吗 苹果13手机膜没有全部包住 美团外卖部分产品点下架会有啥影响? iphone13需要贴侧边膜吗? iPhone13有必要贴膜吗?- 问一问 显卡的显存怎么测试 糖耐前一天晚上几点后不能喝水 怎样准确测试显卡的显存 肌肉跳动是什么原因引起的? 如何检测显卡名称和显存 怎样检测TC显卡总显存?