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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python取整符号_python 取整「建议收藏」

    广告关闭腾讯云11.11云上盛惠,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!(1)向下取整向下取整很简单,直接使用int()函数即可,如下代码(python2.7.5idle)a=3.75int(a)3(2)四舍五入第二种就是对数字进行四舍五入,具体的看下面的代码:a=3.25;b=3.75round(a);round(b)3.0…

    2022年4月18日
    128
  • topcoder srm 315 div1

    topcoder srm 315 div1

    2021年6月20日
    84
  • adventureworksdw2008r2_work in an office

    adventureworksdw2008r2_work in an office在学习ReportingService联机教程的时候,提示要用Adventureworks2008数据库,于是用codeplex网站下载了SQL2008.AdventureWorks_All_Databases.x86.msi,安装上去,没有看到有Adventureworks2008数据库,却有一个Adventureworks数据库,我想这也应该能用吧于是就开始用Ad…

    2022年9月11日
    2
  • php openssl生成证书,php中使用OpenSSL生成证书及加密解密[通俗易懂]

    php openssl生成证书,php中使用OpenSSL生成证书及加密解密[通俗易懂]摘要:这篇文章主要介绍了PHP中使用OpenSSL生成证书及加密解密,需要的朋友可以参考下依赖于OpenSSL扩展/*加密解密*/functionauthcode($string,$operation=’E’){$ssl_public=file_get_contents(DAT这篇文章主要介绍了PHP中使用OpenSSL生成证书及加密解密,需要的朋友可以参考下依赖于OpenSSL扩展…

    2022年9月19日
    3
  • navicat15激活码最新_通用破解码

    navicat15激活码最新_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    78
  • idea 2021 2.3 激活码_在线激活

    (idea 2021 2.3 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月29日
    325

发表回复

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

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