Mybatis入门
2017-09-01 13:33
260 查看
第一次利用官方文档学习知识,曾经觉得看官网挺难的,今天耐心的看了下去,发现还是挺不错的,这里详细的分享,带小白Mybatis入门。Mybatis官方教程后面不懂的地方可以查看,官网有中文版。
学什么都最好有实例,所以我们用一个实例来带学习。
首先,我们设计下数据库,如图:
这里解释提示下为什么数据类型是这样:
如上表所示,例:
Char(5):即长度为5,如果长为5,比如’21545’,即可以存储,如果你存的是’211’,长度为3,而Char是定长,所以211后面会补2个空格。让其强行成为长为5的串,所以Char适合定长。并且Char存的ANSI字符,所以如上表,一个英文占一个字节,而一个中文占两个字节,’西昌6’和’21545’占相同字节,Char适合全英文。
Varchar(5):即长度为5,如果存的数据占5个字节,比如’21545’,即可以存储,如果你存的是’211’,只有3个字节,而Varchar是变长,依然存储’211’,不补充空格。
NChar(5):即长度为5,’西昌666’和’仙剑奇侠传’就占相同字节,所以NChar适合中/英混合。
接下来我们创建项目,如图所示:
创建实体类:
导入Mybatis和jdbc的包,创建Configuration.xml文件,可以在你下载的Mybatis压缩包中找到这个xml文件,复制过来,这里用的SQL Server2008,自己可以配置数据库的名字,密码,驱动等,如下:
再创建Student.xml,配置如下(也可以找到):
以上配置完成之后就可以开始测试了。
以上就完成了查询操作了,是不是很简单,update以及删除和这类似,可以去官网查看,就不多说啦。
学什么都最好有实例,所以我们用一个实例来带学习。
首先,我们设计下数据库,如图:
这里解释提示下为什么数据类型是这样:
数据类型 | 占用存储空间 | 定义格式 |
---|---|---|
Char(n) | 定长,最大8KB | 存ANSI字符,n为串长度 |
Varchar(n) | 变长,最大8KB | 存ANSI字符,n为串长度 |
Nchar(n) | 定长,最大8KB | 存Unicode字符,n为串长度 |
Nvarchar(n) | 变长,最大8KB | 存Unicode字符,n为串长度 |
** | ANSI | Unicode |
---|---|---|
英文字符 | 1字节 | 2字节 |
汉字 | 2字节 | 2字节 |
Char(5):即长度为5,如果长为5,比如’21545’,即可以存储,如果你存的是’211’,长度为3,而Char是定长,所以211后面会补2个空格。让其强行成为长为5的串,所以Char适合定长。并且Char存的ANSI字符,所以如上表,一个英文占一个字节,而一个中文占两个字节,’西昌6’和’21545’占相同字节,Char适合全英文。
Varchar(5):即长度为5,如果存的数据占5个字节,比如’21545’,即可以存储,如果你存的是’211’,只有3个字节,而Varchar是变长,依然存储’211’,不补充空格。
NChar(5):即长度为5,’西昌666’和’仙剑奇侠传’就占相同字节,所以NChar适合中/英混合。
接下来我们创建项目,如图所示:
创建实体类:
public class Student { private int ID; private String Name; private String Phone; private String Age; public int getID() { return ID; } public void setID(int iD) { ID = iD; } public String getName() { return Name; } public void setName(String name) { Name = name; } public String getPhone() { return Phone; } public void setPhone(String phone) { Phone = phone; } public String getAge() { return Age; public void setAge(String age) { Age = age; } public Student(String name, String phone, String age) { super(); Name = name; Phone = phone; Age = age; } public Student() {} }
导入Mybatis和jdbc的包,创建Configuration.xml文件,可以在你下载的Mybatis压缩包中找到这个xml文件,复制过来,这里用的SQL Server2008,自己可以配置数据库的名字,密码,驱动等,如下:
<?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> <settings> <setting name="useGeneratedKeys" value="false"/> <setting name="useColumnLabel" value="true"/> </settings> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"> <property name="" value=""/> </transactionManager> <dataSource type="UNPOOLED"> <property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/> <property name="url" value="jdbc:sqlserver://localhost:1433;DatabaseName=MybatisTest"/> <property name="username" value="sa"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <!-- mapper是必须的,读取另一个xml,后面的Student.xml文件 --> <mappers> <mapper resource="sqlxml/Student.xml"/> </mappers> </configuration>
再创建Student.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="Student"> <!--type哪一个类 --> <resultMap type="com.entity.Student" id="StudentResult"> <id column="ID" jdbcType="INTEGER" property="ID"/> <!-- id为主键标签 result为普通标签--> <result column="Name" jdbcType="NVARCHAR" property="Name"/> <result column="Phone" jdbcType="NCHAR" property="Phone"/> <result column="Age" jdbcType="NCHAR" property="Age"/> </resultMap> <!-- 找到对应关系resultmap会进行赋值 --> <select id="queryStudentList" parameterType="com.entity.Student" resultMap="StudentResult"> select * from Student where Name=#{name} </select> </mapper>
以上配置完成之后就可以开始测试了。
public class DBTest { public static void main(String[] args) { List<Student> list = new ArrayList<Student>(); SqlSession session = null; try { //此处为官网推荐做法 InputStream inputStream = Resources.getResourceAsStream("configure/Configuration.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); session = sqlSessionFactory.openSession(); //这里是参数查询的设置,查询名字为吕布的学生 Student student = new Student(); student.setName("吕布"); list = session.selectList("Student.queryStudentList", student); list.forEach((stu) -> System.out.println(stu.getName()+" "+stu.getAge()+" "+stu.getPhone())); } catch (IOException e) { e.printStackTrace(); } finally { //每次用完都要关闭 if(session!=null){ session=null; } } } }
以上就完成了查询操作了,是不是很简单,update以及删除和这类似,可以去官网查看,就不多说啦。
相关文章推荐
- Mybatis最入门---数据库的下载与安装
- Mybatis最入门---ResultMaps实例篇(一对多查询)
- Mybatis入门
- Mybatis最入门---整合Spring
- MyBatis学习(一) 入门+例子
- mybatis入门基础(六)----高级映射(一对一,一对多,多对多)
- SpringBoot入门之整合mybatis
- 《Spring+Mybatis》Mybatis入门学习笔记与代码
- Mybatis入门案例
- Mybatis入门
- Mybatis(一):入门
- 深入浅出MyBatis-快速入门
- Mybatis入门(二)
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- Spring Boot+Mybatis 入门Demo
- MyBatis入门学习(一)
- mybatis入门
- mybatis入门基础(六)----高级映射(一对一,一对多,多对多)
- MyBatis入门案例
- MyBatis学习总结(一)——MyBatis快速入门