mybatis实现详细教程

Mybatistest

一、添加mybatis的以及连接到数据库的架包

在对应的网站找到相应的架包,网站参考如下

Mybatis:mybatis 3.5.2 jar 下载- MyBatis中文官网

数据库的架包:MySQL :: 下载连接器/J

参考图例如下

图例编号:1

二、创建数据库和表

需要注意的是,这里只是针对MySQL的数据库。

参考图例

图例编号:2

参考数据表如下

图例编号:3

到此,前期的开发环境准备工作全部完成。

三、添加Mybatis的配置文件conf.xml

在src目录下创建一个conf.xml文件,如下图所示:

图例编号:4

四、创建与数据表所对应的Java实体类,

如下图所示:

图例编号:5

具体代码

packagecom.oracle.jyzy.student.mybatis.entity;
 
public class Zhqemail {
 private int zhuemail_id;
 private String zhuemail_title;
 private String zhuemail_sender;
 private String zhuemail_send_time;
 private String zhuemail_addressee;
 private String zhuemail_body;
 private int zhuversion;
public Zhqemail() {
       super();
       // TODO Auto-generated constructor stub
}
public Zhqemail(Stringzhuemail_title, String zhuemail_sender, String zhuemail_send_time, Stringzhuemail_addressee,
              String zhuemail_body, int zhuversion) {
       super();
       this.zhuemail_title = zhuemail_title;
       this.zhuemail_sender = zhuemail_sender;
       this.zhuemail_send_time = zhuemail_send_time;
       this.zhuemail_addressee = zhuemail_addressee;
       this.zhuemail_body = zhuemail_body;
       this.zhuversion = zhuversion;
}
public Zhqemail(intzhuemail_id, String zhuemail_title, String zhuemail_sender, Stringzhuemail_send_time,
              String zhuemail_addressee, String zhuemail_body, intzhuversion) {
       super();
       this.zhuemail_id = zhuemail_id;
       this.zhuemail_title = zhuemail_title;
       this.zhuemail_sender = zhuemail_sender;
       this.zhuemail_send_time = zhuemail_send_time;
       this.zhuemail_addressee = zhuemail_addressee;
       this.zhuemail_body = zhuemail_body;
       this.zhuversion = zhuversion;
}
public int getZhuemail_id(){
       return zhuemail_id;
}
public voidsetZhuemail_id(int zhuemail_id) {
       this.zhuemail_id = zhuemail_id;
}
public StringgetZhuemail_title() {
       return zhuemail_title;
}
public void setZhuemail_title(Stringzhuemail_title) {
       this.zhuemail_title = zhuemail_title;
}
public StringgetZhuemail_sender() {
       return zhuemail_sender;
}
public voidsetZhuemail_sender(String zhuemail_sender) {
       this.zhuemail_sender = zhuemail_sender;
}
public StringgetZhuemail_send_time() {
       return zhuemail_send_time;
}
public voidsetZhuemail_send_time(String zhuemail_send_time) {
       this.zhuemail_send_time = zhuemail_send_time;
}
public StringgetZhuemail_addressee() {
       return zhuemail_addressee;
}
public void setZhuemail_addressee(Stringzhuemail_addressee) {
       this.zhuemail_addressee = zhuemail_addressee;
}
public String getZhuemail_body(){
       return zhuemail_body;
}
public voidsetZhuemail_body(String zhuemail_body) {
       this.zhuemail_body = zhuemail_body;
}
public int getZhuversion() {
       return zhuversion;
}
public voidsetZhuversion(int zhuversion) {
       this.zhuversion = zhuversion;
}
@Override
public String toString() {
       return "Zhqemail [zhuemail_id=" + zhuemail_id +", zhuemail_title=" + zhuemail_title + ", zhuemail_sender="
                     + zhuemail_sender + ",zhuemail_send_time=" + zhuemail_send_time + ",zhuemail_addressee="
                     + zhuemail_addressee + ",zhuemail_body=" + zhuemail_body + ", zhuversion=" + zhuversion +"]";
}
 
 
}

五、定义操作zhqemail表的sql映射文件zhqemailMapper.xml

具体参考图例如下:

图例编号:6

参考代码

<?xml version="1.0"encoding="UTF-8"?>
<!-- 为这个mapper指定一个唯一的namespace,namespace的值习惯上设置成"包名+sql映射文件名",
       这样就能够保证namespace的值是唯一的
       例如namespace="com.oracle.jyzy.student.mybatis.entity.newsMapper"
       就是com.oracle.jyzy.student.mybatis.entity(包名) 
       +zhqemailMapper(zhqemailMapper.xml文件去除后缀) -->
<mapper
       namespace="com.oracle.jyzy.student.mybatis.mapper.zhqemailmapper.xml">
       <!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为getzhqemail,
       id属性值必须是唯一的,不能够重复 使用parameterType属性指明查询时使用的参数类型,
       resultType属性指明查询返回的结果集类型
       resultType="com.oracle.jyzy.student.mybatis.entity.zhqemail"
       就表示将查询结果封装成一个zhqemail类的对象返回 zhqemail类就是zhqemail表所对应的实体类 -->
       <!-- 根据id查询得到一个zhqemail对象 -->
       <selectid="getZhqemail" parameterType="int"
              resultType="com.oracle.jyzy.student.mybatis.entity.zhqemail">
              SELECT* FROM zhqemail WHERE zhuemail_id=#{id}
       </select>
</mapper>

六、在config.xml文件中注册zhqemailMapper.xml文件

参考图例如下

图例编号:7

参考代码

<mappers>
        <!-- 注册zhqemailmapper.xml文件,
        zhqemailmapper.xml位于com.oracle.jyzy.student.mybatis.mapper这个包下,所以resource写成
       com/oracle/jyzy/student/mybatis/mapper/zhqemailmapper.xml-->
        <mapperresource="com/oracle/jyzy/student/mybatis/mapper/zhqemailmapper.xml"/>
    </mappers>
 

七、编写测试代码:执行定义的select语句

创建一个Test1类,编写如下的测试代码:

参考图例

图例编号:8

参考代码、

package com.oracle.jyzy.student.mybatis.test;
 
import java.io.InputStream;
 
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
importorg.apache.ibatis.session.SqlSessionFactoryBuilder;
 
import com.oracle.jyzy.student.mybatis.entity.News;
import com.oracle.jyzy.student.mybatis.entity.Zhqemail;
 
public class Test1 {
public static void main(String[] args) {
        //mybatis的配置文件
    Stringresource = "config.xml";
    //使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
    InputStreamis = Test.class.getClassLoader().getResourceAsStream(resource);
    //构建sqlSession的工厂
   SqlSessionFactory sessionFactory = newSqlSessionFactoryBuilder().build(is);
    //使用MyBatis提供的Resources类加载mybatis的配置文件(它也加载关联的映射文件)
    //Readerreader = Resources.getResourceAsReader(resource); 
    //构建sqlSession的工厂
   //SqlSessionFactory sessionFactory = newSqlSessionFactoryBuilder().build(reader);
    //创建能执行映射文件中sql的sqlSession
    SqlSessionsession = sessionFactory.openSession();
    /**
     * 映射sql的标识字符串,
     *com.oracle.jyzy.student.mybatis.entity.zhqemailMapper是
     *zhqemailMapper.xml文件中mapper标签的namespace属性的值,
     * getzhqemail是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL
     */
    Stringstatement ="com.oracle.jyzy.student.mybatis.mapper.zhqemailmapper.xml.getZhqemail";//映射sql的标识字符串
    //执行查询返回一个唯一user对象的sql
    Zhqemailnews news = session.selectOne(statement, 1);
   System.out.println(news);
}
}
 

创作不易,如有帮助,还请点赞。💞

作者:降香

本文为原创,无有抄袭。

🐱

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringMVC、Spring和MyBatis是一种常见的JavaWeb开发框架组合,通过整合这三个开源框架,可以方便地进行Web应用的开发。下面是一个简要的整合教程: 1. 创建一个Maven项目,并在pom.xml添加应的依赖: - SpringMVC依赖:spring-webmvc、spring-context、spring-beans等。 - Spring依赖:spring-core、spring-context、spring-aop等。 - MyBatis依赖:mybatismybatis-spring、mysql-connector-java等。 2. 创建一个SpringMVC配置文件,如springmvc-servlet.xml,配置SpringMVC的关信息,并将其配置在web.xml: ```xml <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/springmvc-servlet.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> ``` 3. 创建一个Spring配置文件,如applicationContext.xml,配置Spring的关信息: ```xml <context:component-scan base-package="com.example.package" /> <mvc:annotation-driven /> <!-- 配置数据源、事务管理器等 --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <!-- 数据源关配置 --> </bean> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> ``` 4. 创建一个MyBatis配置文件,如mybatis-config.xml,配置MyBatis关信息: ```xml <configuration> <typeAliasesPackage>com.example.package</typeAliasesPackage> <!-- 配置数据源、事务管理器等 --> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <!-- 数据源关配置 --> </dataSource> </environment> </environments> <!-- 配置映射文件 --> <mappers> <mapper resource="com/example/package/mapper/ExampleMapper.xml"/> </mappers> </configuration> ``` 5. 创建DAO接口和Mapper映射文件,定义数据访问操作。 6. 创建Service类和Controller类,实现业务逻辑和请求处理。 7. 配置数据库连接信息、事务管理、数据访问等关配置。 通过以上步骤,我们就完成了SpringMVC、Spring和MyBatis的整合。在此基础上,我们可以根据实际需求,进一步开发完善的Web应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值