创建以mybatis为基础的web项目(1)
1. 新建项目,生成web.xml(生成的目录结构如下所示)
目录结构如下图
2. 导入mybatis包,数据库驱动包,log4j包(复制到webroot目录下的lib文件夹下面,并添加到构建路径)
3. 创建源文件夹(resources fold)config(可以自己命名),存放所有xml和properties等配置文件。
4. 新建总配置文件cf.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>
<!-- 别名标签 -->
<!--把鼠标移到configuration标签上面会出现以下信息:原因是因为引入了dtd约束文件 Element : configuration
Copyright 2009-2016 the original author or authors. Licensed under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with the License. You may obtain a copy
of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or
agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
for the specific language governing permissions and limitations under the License. Content Model : (properties?, settings?, typeAliases?, typeHandlers?, objectFactory?,
objectWrapperFactory?, reflectorFactory?, plugins?, environments?, databaseIdProvider?, mappers?) --> <!-- 属性文件 引入外部的配置文件 -->
<properties resource="c.properties"></properties>
<!-- 别名 在单个配置文件中 写别名即可-->
<typeAliases>
<typeAlias type="com.pojo.StudentInfo" alias="studentinfo" />
<!-- 自动生成包下面的所有类的别名,别名就是类名,并且首字母大小写都可以使用 -->
<!--<package name="com.pojo" /> --> </typeAliases>
<!-- 使用哪个小环境 default就等于哪个小环境的id -->
<environments default="development"> <environment id="development">
<!-- jdbc事务管理 -->
<transactionManager type="JDBC">
</transactionManager>
<!-- 数据库连接池 -->
<dataSource type="POOLED">
<property name="driver" value="${drivername}" />
<!-- localhost可以用127.0.0.1或者本机的ip地址表示 -->
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</dataSource>
</environment> <environment id="mysql">
<!-- jdbc事务管理 -->
<transactionManager type="JDBC">
</transactionManager>
<!-- 数据库连接池 -->
<dataSource type="POOLED">
<property name="drivername" value="${drivername}" />
<!-- localhost可以用127.0.0.1或者本机的ip地址表示 -->
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</dataSource>
</environment> </environments> <!-- 引入单个映射配置文件 *号表示0个或者多个 -->
<mappers>
<mapper resource="com/imp/IStudent.xml" />
<!-- <package name="com.imp" /> --> </mappers>
</configuration>
5. 创建属性文件config.properties,存放数据库连接信息
drivername=com.mysql.jdbc.Driver
url=jdbc\:mysql\://localhost\:3306/myweb?characterEncoding\=utf-8
username=xzt
password=xzt521
6. 创建实体类,用于接收数据库数据,属性和表字段对应,添加get,set和无参构造
7. 创建一个接口,用来操作学生表的数据,例:查询所有数据
package com.imp; import java.util.List; import com.pojo.Students; public interface IStudents {
/**
* 要符合三个规范才能使用不用写实现类的形式。
* 1.使用mapper代理接口方式
* 2.接口名称和对应的xml文件的名字相同(后缀名不算)
* 3.在同一目录下
* @return
*/
List<StudentInfo> sqlall(); }
8. 创建对应的XML文件(mapper代理方式),因为要使用总配置文件的自动引入XML,所以必须满足
一. 使用mapper代理方式
二. 接口和XML文件的名称一样(后缀不算)
三. 要在同一包下
9.写工具类获取数据库连接
package com.util; import java.io.IOException;
import java.io.InputStream; import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class MybatisConnection {
/**
* 使用静态方法
* 使用静态方法可以不用创建对象,直接点方法就可以使用方法了
* @return
*/
public static SqlSession getSqlsession1(){
InputStream is = null;
try {
is = Resources.getResourceAsStream("cf.xml");
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
SqlSession sqlSession = sqlSessionFactory.openSession(); return sqlSession; } }
10.测试方法
package com.test; import java.util.List; import org.apache.ibatis.session.SqlSession; import com.imp.IScore;
import com.imp.IStudents;
import com.pojo.Score;
import com.pojo.Students;
import com.util.DbManager; public class MyTest {
public static void main(String[] args) {
//使用工具类获取SqlSession
SqlSession ss = DbManager.getSession();
//获取接口对象
// IStudents is = (IStudents)ss.getMapper(IStudents.class);
// //调用查询方法
// List<Students> list = is.sqlall();
// //遍历显示数据
// for (Students students : list) {
// System.out.println(students.getName());
// } IScore iscore = (IScore)ss.getMapper(IScore.class);
List<Score> list = iscore.sqlScore(); for (Score score : list) {
System.out.println("学生姓名:"+score.getStu().getName()+"____科目:"+score.getLess()+"___分数:"+score.getScore());
} }
未完待续
创建以mybatis为基础的web项目(1)的更多相关文章
- 创建以mybatis为基础的web项目(2)mabitis中的一对一关系项目实战
mabitis中的一对一关系项目实战: 1.首先根据创建以mybatis为基础的web项目(1)中的流程将web项目部署好 打开IDE,建立web工程 在lib下面粘贴mybatis的jar,log4 ...
- webstorm创建nodejs + express + jade 的web 项目
webstorm创建nodejs + express + jade 的web 项目 前简单了解过nodejs,觉得用nodejs来做个网站也太麻烦了,要自己拼html的字符串返回,这能做网站嘛? 最近 ...
- 基于SpringBoot + Mybatis实现SpringMVC Web项目
一.热身 一个现实的场景是:当我们开发一个Web工程时,架构师和开发工程师可能更关心项目技术结构上的设计.而几乎所有结构良好的软件(项目)都使用了分层设计.分层设计是将项目按技术职能分为几个内聚的部分 ...
- java Web项目创建之一(普通java web项目的创建与发布)
1.创建新的web项目 file->new_>Dynamic Web Project(如图) 或file->new->Project->Web->Dynamic W ...
- IDEA14创建Maven管理的Java Web项目
刚开始进入公司实习,什么都不懂的小白,经过一上午加一点下午的时间,各种百度之后,终于找到了完整的流程,亲测成功,下面是我的一些步骤和图解,如果有什么错误,欢迎指正. 主要分为下面的几个步骤: 1.前期 ...
- idea创建第一个普通java web项目
1.新建项目(工作空间) 选择空项目 输入项目名称,点击完成 系统会默认选中Modules,点击上面的小+号创建模块->New Module 新建一个Java EE Web Applicatio ...
- 图文详解 IntelliJ IDEA 15 创建 Maven 构建的 Java Web 项目(使用 Jetty 容器)
图文详解 IntelliJ IDEA 15 创建 maven 的 Web 项目 搭建 maven 项目结构 1.使用 IntelliJ IDEA 15 新建一个项目. 2.设置 GAV 坐标 3. ...
- java maven、springmvc、mybatis 搭建简单Web项目学习笔记
前言: 空余的时间,学学 Java,没准哪天用的到: 环境搭建折腾了好几天,总算搞顺了,也做个学习笔记,以防后面会忘记: 一.安装文件及介绍 JDK:jdk1.8.0 77 eclipse-maven ...
- 图文具体解释 IntelliJ IDEA 15 创建 Maven 构建的 Java Web 项目(使用 Jetty 容器)
图文具体解释 IntelliJ IDEA 15 创建 maven 的 Web 项目 搭建 maven 项目结构 1.使用 IntelliJ IDEA 15 新建一个项目. 2.设置 GAV 坐标 3. ...
随机推荐
- The method queryForMap(String, Object...) from the type JdbcTemplate refers to the missing type DataAccessException
Add spring-tx jar of your spring version to your classpath.
- null和undefined的异同
相同点: 都表示值得空缺,二者往往可以互换,用“==”相等运算符判断两个是相等的,要用“===”判断. 在希望值是布尔类型的地方,他们的值都是假值,和“false”类似. 都不包含属性和方法. 使用& ...
- centos6上yum安装drbd(内核:2.6.32.696)
author:headsen chen date: 2017-11-20 15:11:21 notice: 个人原创,转载请注明,否则依法追究法律责任 前期准备: 两台机器:配置主机名分别为: l ...
- 20165226 学习基础和C语言基础调查
心得体会 驱动迭代 学习是一个老师与学生互动的过程,二者关系又恰如健身教练与学员,在进行基础知识的培训后还需借助工具加强相关方面的训练.学习提升的过程离不开学生在实践中发现问题并在老师的帮助下解决问题 ...
- svn版本提交冲突问题解决详解
svn冲突文件解决方法 工具/原料 svn客户端 方法/步骤 1 通过SVN客户端更新需要的文件,如果出现有感叹号的文件,找到出现感叹号的文件. 2 选择感叹号文件,即冲突文件,单击鼠标右 ...
- Eclipse项目出现红色叹号的解决办法
以前的项目今天打开突然出现了红色的叹号,对于强迫症的患者简直忍不了,出现红色叹号的原因都是jar包出现问题导致的,如果是代码错误早就是一个大红叉了- 打开项目就可以发现,找不到哪里出问题了,代码和js ...
- 设计模式 --> (16)观察者模式
观察者模式 定义对象间的 一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新.它还有两个别名,依赖(Dependents),发布- 订阅(Publish-Sub ...
- 设计模式 --> (6)原型模式
原型(Prototype)模式 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知 ...
- Linux下安装配置jdk
步骤: 1.去官网下载jdk压缩包 网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151. ...
- Pla
Pla(jdoj1006) 题目大意:给你n个矩形,并排放在一起,你的目的是将所有的矩形全部染色.你每次染的形状为一个矩形,问:最少需要染多少次? 注释:n<=10^6,wi , hi<= ...