MyBatis入门学习(一)

MyBatis入门学习(一)

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

所须要jar包:mybatis-3.x.x.jar 、假设须要和spring整合,还须要增加相关的包

1:看项目文件夹 红颜色不要关心

MyBatis入门学习(一)

2:依照步骤:

1:增加jar包

2:创建数据源(configuration.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>
	<typeAliases>
		<!--给实体类起一个别名 user -->
		<typeAlias type="com.forum.po.User" alias="User" />
	</typeAliases>
	<!--数据源配置  这块用 BD2数据库 -->
	<environments default="development">
		<environment id="development">
			<transactionManager type="jdbc" />
			<dataSource type="POOLED">
				<property name="driver" value="com.ibm.db2.jcc.DB2Driver" />
				<property name="url" value="jdbc:db2://localhost:50000/forum" />
				<property name="username" value="DB2ADMIN" />
				<property name="password" value="admin" />
			</dataSource>
		</environment>
	</environments>
	<mappers>
		<!--userMapper.xml装载进来  同等于把“dao”的实现装载进来 -->
		<mapper resource="myBatis/userMapper.xml" />
	</mappers>
</configuration> 

3:创建实体类USER

package com.forum.po;

/**
 * 用户类
 * 
 * @author db2admin
 * 
 */
public class User extends Entity {
	private String name;
	private Integer age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	public User() {
	}

}


4:创建dao接口、能够说是Mapper接口:UserMapper

package com.forum.dao;

import com.forum.po.User;

public interface UserMapper {
	public User findById(String Id);
}


5:创建dao的实现,不同于hibernarte的此处的实现为一个xml文件,也就是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">
	<!--这块等于dao接口的实现  namespace必须和接口的类路径一样-->
<mapper namespace="com.forum.dao.UserMapper">
	<!-- findById必须和接口中的方法名一样  返回一个User  就是刚才的别名  假设不弄别名要连类路径一起写 麻烦-->
	<select id="findById" parameterType="HashMap" resultType="User">
		select
		* from butone.student where id=#{id}
    </select>
</mapper>


6:測试类,MyBatisTest

package com.forum.test;

import java.io.IOException;

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 com.forum.dao.UserMapper;
import com.forum.po.User;

/**
 * myBatis数据库连接測试
 * 
 * @author db2admin
 * 
 */
public class MyBatisTest {
	/**
	 * 获得MyBatis SqlSessionFactory  
	 * SqlSessionFactory负责创建SqlSession,一旦创建成功,就能够用SqlSession实例来运行映射语句,commit,rollback,close等方法。
	 * @return
	 */
	private static SqlSessionFactory getSessionFactory() {
		SqlSessionFactory sessionFactory = null;
		String resource = "configuration.xml";
		try {
			sessionFactory = new SqlSessionFactoryBuilder().build(Resources
					.getResourceAsReader(resource));
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return sessionFactory;
	}

	public static void main(String[] args) {
		SqlSession sqlSession = getSessionFactory().openSession();
		UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
		User user = userMapper.findById("1");
		System.out.println(user.getName());

	}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118130.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • creo每次都要配置config_config配置中心

    creo每次都要配置config_config配置中心前言每个测试用例都应该有config部分,可以配置用例级别。比如name、base_url、variables、verify、export等等案例演示fromhttprunnerimport

    2022年7月31日
    2
  • Pycharm 最新激活码 2021[免费获取]

    (Pycharm 最新激活码 2021)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlMLZPB5EL5Q-eyJsaWNlbnNlSWQi…

    2022年3月21日
    51
  • javascript_JavaScript走向成熟

    javascript_JavaScript走向成熟javascript明年JavaScript将有20年的历史(从首次在Netscape浏览器中首次亮相开始算起)。这是一门具有悠久历史的语言,并且从其早期开始就带来了很多负担,但是随着它离开少年时代的到来,我认为这是一种最终发展起来的语言。JavaScript通过允许脚本在浏览器中运行来彻底改变了Web。但是,在最初流行之后,它很快就开始受到不良声誉,并且经常与编写不良,剪切粘贴的代码…

    2022年7月13日
    15
  • 磁盘管理器能看到u盘,但电脑里没有_bt3安装到u盘启动不了

    磁盘管理器能看到u盘,但电脑里没有_bt3安装到u盘启动不了最近在弄bt3U盘版的时候,依照网上的方法弄了半天都有问题,一直都进不去xwindow,由于spoonwep工具是有界面的,故只在命令行下如果没有界面的支持,是不能办事的,后来在网上看到很多兄弟们说显卡的问题,结果在无线网论坛里找到了ATI卡的驱动,具体下载的地址是:http://www.wlanbbs.com/thread-5439-1-1.html  非常感谢这位提供驱动的兄弟,ATI在哪

    2022年10月1日
    0
  • DropDownList1_SelectedIndexChanged方法中改变了索引后没有反应「建议收藏」

    DropDownList1_SelectedIndexChanged方法中改变了索引后没有反应「建议收藏」这是因为DropDownList1中的AutoPostBack也就是自动回发没有设置为True,在默认的情况下,为了降低服务器默认,它的值是False.转载于:https://www.cnblogs.com/jany/archive/2009/12/29/1634623.html…

    2022年7月18日
    10
  • Activiti工作流的详细介绍[通俗易懂]

    Activiti工作流的详细介绍[通俗易懂]一、了解工作流1、工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现。2、工作流管理系统(WorkflowManagementSystem,WfMS)是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定义好的工作流逻辑进行工作流实例的执行。工作流管理系统不是企业的业务系统,而是为企业的业务系统的运行提供了一个软件的

    2022年10月6日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号