Mybatis 学习一
来源:互联网 发布:xftp连接linux失败 编辑:程序博客网 时间:2024/06/05 20:16
Mybatis 学习一
简介
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
用法
1.基于xml文件配置:
如果项目是依赖于maven,需要在pom.xml文件中增加mybatis依赖
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.3.0</version></dependency>
在maven目录结果main目录下增加java文件夹,并设置为主资源文件夹,如在Intellij中打开project Structure
在Modules模块中
如果不添加,则会创建无法创建java文件
在maven resources目录下是所有配置文件存放的目录,编译后它的路径就是classpath路径下也就是src路径下,在resource中配置数据库文件dbconf.xml(名字任意取),在dbconf.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> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <!-- 配置数据库连接信息 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://192.168.88.6:3306/asterisk" /> <property name="username" value="root" /> <property name="password" value="root" /> </dataSource> </environment> </environments> <mappers> <mapper resource="user.xml"></mapper> <mapper class="com.kalamodo.mybatis.DbInter.UserInter"></mapper> </mappers> </configuration>
在上述创建的java文件夹下新建java包:
com.mybatis.test在此包下新建bean包:beans在beans目录下新建UserBean.javapackage com.kalamodo.mybatis.beans;/** * Created by 95 on 2017/5/12. */public class UserBean {private int id;private String header;private String nickname;private int sex;private int role;private String callid;private String secret;private String sip;private int belongid;public int getId() { return id;}public void setId(int id) { this.id = id;}public String getHeader() { return header;}public void setHeader(String header) { this.header = header;}public String getNickname() { return nickname;}public void setNickname(String nickname) { this.nickname = nickname;}public int getSex() { return sex;}public void setSex(int sex) { this.sex = sex;}public int getRole() { return role;}public void setRole(int role) { this.role = role;}public String getCallid() { return callid;}public void setCallid(String callid) { this.callid = callid;}public String getSecret() { return secret;}public void setSecret(String secret) { this.secret = secret;}public String getSip() { return sip;}public void setSip(String sip) { this.sip = sip;}public int getBelongid() { return belongid;}public void setBelongid(int belongid) { this.belongid = belongid; }}
在resource文件夹下添加执行sql语句的xml文件user.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"><mapper namespace="k_websmanager"> <select id="all" resultType="com.kalamodo.mybatis.beans.UserBean"> select * from k_websmanager </select></mapper>namespace 很重要的命名空间,用于在java代码中标识要执行的是哪一个mapper,resultType 标识返回类型,查询后,会自动封装成返回的类型
接下来就是在dbconf.xml中创建执行sql的映射
在dbconf.xml中添加注册执行sql语句 <mappers> <mapper resource="user.xml"></mapper></mappers>
测试:
public class DbTest {public static void main(String args[]){ try { String resource= "dbconfig.xml"; InputStream in=Resources.getResourceAsStream(resource); SqlSessionFactory sqlFc=new SqlSessionFactoryBuilder().build(in); SqlSession sqlse=sqlFc.openSession(); List<UserBean> UserBeans=sqlse.selectList("k_websmanager.all"); for (UserBean user : UserBeans){ System.out.print(user.getNickname()); } } catch (Exception e) { e.printStackTrace(); } }}
2.基于代码注解
创建接口UserInter
/*** Created by 95 on 2017/5/15.*/public interface UserInter { @Select("select * from k_websmanager") public List<UserBean> selectuser();}
在dbconf.xml中添加mapper
注册执行sql语句
测试:
public static void main(String args[]){ try { String resource= "dbconfig.xml"; InputStream in=Resources.getResourceAsStream(resource); SqlSessionFactory sqlFc=new SqlSessionFactoryBuilder().build(in); SqlSession sqlse=sqlFc.openSession(); UserInter usermapper=sqlse.getMapper(UserInter.class); List<UserBean> UserBeans=usermapper.selectuser(); for (UserBean user : UserBeans){ System.out.print(user.getNickname()); } } catch (Exception e) { e.printStackTrace(); }}}
优化:
1.将dbconf.xml中数据库配置属性的接口提取出来,创建db.properties
driver=com.mysql.jdbc.Driver url=jdbc:mysql://192.168.88.6:3306/asterisk username=root password=root
在dbconf.xml中包含该配置属性:
更改配置:
<environments default="development"><environment id="development"> <transactionManager type="JDBC" /> <!-- 配置数据库连接信息 --> <dataSource type="POOLED"> <property name="driver" value="${driver}" /> <property name="url" value="${url}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> </dataSource></environment></environments>
0 0
- mybatis学习一
- Mybatis学习日记(一)
- mybatis学习(一)
- Mybatis学习(一)
- mybatis学习(一)
- MyBatis学习(一)
- MyBatis学习(一)
- MyBatis学习总结一
- MyBatis 学习笔记一
- MyBatis学习一
- MyBatis学习笔记一
- Mybatis学习总结一
- 学习Mybatis(一)
- MyBatis学习一
- Mybatis学习一
- Mybatis学习记录一
- mybatis学习笔记一
- MyBatis学习总结(一)
- 针对基于play框架 easyui前端框架的运用
- oracle中如何判断某个日期是星期几(转)
- 错误“A child container failed during start”之处理(1)
- ubuntu16.04 xshell链接后不弹出输入用户名和密码框
- Linux网卡的配置
- Mybatis 学习一
- git相关
- git问题 warning: LF will be replaced by CRLF in README.md.
- matlab——图像配准
- RecycleView多条目布局不填充满父布局
- spring与mybatis整合配置文件详解
- Java高新技术第一篇:类加载器详解
- 各厂商接入交换机通过ACL限制端口应用的配置信息
- 一个UILabel不同部分显示不同颜色