您的位置:首页 > 数据库

SQL mybatis入门

2016-09-25 16:25 429 查看
最近开始接触mybatis这一块,入门时候看了不文章,觉得不难,所以就想写下这篇博客,来记录,方便今后自己查询

我就不解释下什么是mybatis了。

先说下目的:用mybatis去查询mysql中的数据

流程:1.准备jar包还有I数据库;

2.写代码

首先,准备好jar包,分别是mybatis的还有jdbc的。如果懒的找的朋友,可以去我的资源下载。

mysql-connector-java-5.1.39

mybatis-3.2.2

这是我用的两个版本,因为是基础功能,所以无所谓版本问题

在数据库方面。我用的是mysql,在数据库中新建一个库中的一个表,名字是user(库名我建为“mybatis”);

数据方面比较简单,就存储了id 、name、age三个数值

开始码代码:

需要准备四个文件

User.java .Test1.java .conf.xml .userMagger.xml

先上conf.xml

<?xml version="1.0" encoding="UTF-8"?>

<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://localhost:3306/mybatis">
<property name="username" value="root">
<property name="password" value="03255617">
</property></property></property></property></datasource>
</transactionmanager></environment>
</environments>
<mappers>
<mapper resource="mybatis/sql/userMapper.xml">
</mapper></mappers>
</configuration>


然后是usermagger。xml

<?xml version="1.0" encoding="UTF-8" ?>

<mapper namespace="userMapper">

<select id="getUser" parametertype="int" resulttype="mybatis.xml.User">
select * from user where id=#{id}
</select>
</mapper>

<>


接下来是我们的user类:

package mybatis.xml;

public class User {
private int age;

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

private int id;
private String name;

public User() {
}

}
最后的最后是测试类:
package mybatis.xml;

import java.io.IOException;
import java.io.InputStream;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class Test1 {

public Test1() {
}
public static void main(String[] args) throws IOException
{
String resource = "conf.xml";
InputStream is = Test1.class.getClassLoader().getResourceAsStream(resource);
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
SqlSession session = sessionFactory.openSession();
String statement = "userMapper.getUser";
User user = session.selectOne(statement, 1);

System.out.println(user.getAge());
}
}


由于时间仓促,写的比较乱,所以奉上苍狼老师傅的博客 http://www.linuxidc.com/wap.aspx?nid=113771&p=1&cp=3&cid=0
苍老师写的web项目很棒,顶一个

在上面,我们写了用xml方式去操作数据库,接着,写下怎么使用注解去操作

文件:config.xml:

<?xml version="1.0" encoding="UTF-8"?>

<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://172.16.123.161:3306/fcsapp07">
<property name="username" value="root">
<property name="password" value="123456">
</property></property></property></property></datasource>
</transactionmanager></environment>
</environments>
<!-- 在这儿添加mapper的路径 -->
<mappers>

<mapper class="com.gdqy.mapper.CollectInte">

</mapper></mappers>
</configuration>
与之前相比,这回修改了一点:

        <mapper class="com.gdqy.mapper.CollectInte" />

既然是class,那么我们就不再是xml文件去配置了,而是需要定义一个接口:

package com.gdqy.mapper;
/*
* 定义两点。用注解定义查询语句,用方法定义传入参数还有返回参数
*/
import java.util.List;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;

import com.gdqy.Bean.Collect;
//收藏表
public interface CollectInte {
// 增加单体信息
@Insert("INSERT INTO `fcsapp07`.`tbl_collect`" + " (`collectorid`, `collectionid`, `category`, `time`)" + " VALUES "
+ "(#{collectorid}, #{collectionid}, #{category}, #{time})")
public int add(Collect collect);

// 根据collectorid去查询获得一条数据
@Select("	select *from tbl_collect where collectorid=#{id}")
public List<collect> selectonebycollectorid(int id);
}
</collect>


这个例子是查询语句还有增加单项语句,接着是在测试类f中加载操作:

public String selectlistbycollectorid(int id) {

        SqlSession session = new MySqlSession().getsqlseession();

        CollectInte mapper = session.getMapper(CollectInte.class);

        List<Collect> what=mapper.selectonebycollectorid(id);

        System.out.println(what);

        session.close();

        return what.toString();

代码如上,session的获取参考前面

。。。。写得有点乱,抱歉
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  框架 mybatis