What no Access?
Download
Report
Transcript What no Access?
Transfer 101
Dan Vega
www.cfunited.com
About Me
•
•
•
•
•
•
•
•
•
•
•
•
Programmer
ColdFusion / Flex / AS3 / HTML / JS / CSS / Groovy & Grails
Cleveland ColdFusion User Group Co Manager
Active ColdFusion Community Member (Love Teaching)
Open Source Developer
CFMU (ColdFusion Multi Uploader)
RocketFM (ColdFusion + Flex File Manager)
cfPayflowPro (Payflow Pro API for ColdFusion)
cfPanel creator along with Todd Sharp
Cleveland OH / Sports Fan / Running / Weight Lifting / Poker
STERIS – Web Developer (www.steris.com)
Blogger – www.danvega.org
www.cfunited.com
2
Transfer 101 Agenda
•
•
•
•
•
•
•
•
What is an ORM and why does it exist
What is Transfer
Installing Transfer
CRUD
e-commerce application demo
Relationships
Decorators
Q&A – Feel free to ask questions whenever
www.cfunited.com
3
What Problems does an ORM solve
•
•
•
•
•
•
When creating systems that are comprised of objects
there are many repetitive tasks that have to be done
on a per object basis
Value Objects (beans) getters / setters
Writing CRUD (Create/Read/Update/Delete)
Handling Relationships
Populating objects with database queries
Populating SQL with data from your objects
www.cfunited.com
4
What is Transfer
•
•
•
•
An ORM (Object Relational Mapping) Library for
ColdFusion
Transfer ORM's main focus is to automate the
repetitive tasks of creating the SQL and custom
CFCs that are often required when developing a
ColdFusion application.
Through a central configuration file Transfer knows
how to generate objects, and how to manage them
and their relationships back to the database
Created by Mark Mandel
www.cfunited.com
5
What it is not
•
•
•
•
Hibernate / ColdFusion 9 ORM
The end of SQL
A code generator
ORM Frameworks
• Reactor
• CFWheels
www.cfunited.com
6
Supported Systems
•
CFML Engines
• Adobe ColdFusion MX 7+
• Railo 3.0+
• OpenBD 1.0+ ?
•
Database Servers (What no Access?)
• MS SQL Server 2000+
• MySQL 4.1+
• PostGres 8.1+
• Oracle 9i+
www.cfunited.com
7
Installing Transfer
•
Download the zip
http://transfer-orm.com/
http://transfer.riaforge.org
•
Setup a mapping
Per application mappings in ColdFusion 8 rock!
Drop it in your web root
•
Configuration
Datasource.xml / Transfer.xml / definitions
•
Create Transfer factory & Transfer Instance
www.cfunited.com
8
Installation Demo
www.cfunited.com
9
CRUD - Create
•
•
transfer.new(“object”)
Returns a transfer.com.transferObject
• getters / setters for properties
• meta methods
• Object helper methods
• Events
• debug getPropertyMemento() (struct)
•
demo
www.cfunited.com
10
CRUD - Save
•
transfer.save(object)
• Update existing
• Create new
•
demo
www.cfunited.com
11
CRUD - Read
•
•
•
•
transfer.get(“object”,id)
transfer.readByProperty(“object”,prop,val)
transfer.readByPropertyMap(“object’,map)
transfer.readByQuery(“object”,query)
www.cfunited.com
12
CRUD - Delete
•
•
•
transfer.delete(object)
transfer.cascadeDelete(object)
demo
www.cfunited.com
13
Retrieving Query Lists
•
•
•
•
Transfer.list(class, [orderProperty],
[orderASC], [useAliases])
Transfer.listByProperty(class, property, value,
[orderProperty], [orderASC], [useAliases])
Transfer.listByPropertyMap(class,
propertyMap, [orderProperty], [orderASC],
[useAliases])
Transfer.listByQuery(query)
www.cfunited.com
14
Demo
www.cfunited.com
15
Managing Relationships & Compositions
•
Relationship types
• One to many
• Many to One
• Many to Many
•
Collections
• Struct
• Array
www.cfunited.com
16
Demo
www.cfunited.com
17
Transfer Decorators
•
•
•
•
A decorator is used when you wish to write
your own CFC to be used to represent data,
in place of the Transfer generated Object.
Wraps and extends the transfer object
Must extend transfer.com.TransferDecorator
Decorator attribute on the object element in
the transfer.xml configuration
www.cfunited.com
18
Demo
www.cfunited.com
19
Transfer 201
•
•
•
•
•
•
Decorators
Cache
Object Proxies
Events
Transfer & Flex
Validation
•
•
ValidateThis - http://validatethis.riaforge.org
Frameworks based on transfer
•
Metro - http://metro.riaforge.org/
www.cfunited.com
20
Resources
•
•
•
•
http://www.transfer-orm.com/
http://docs.transfer-orm.com/
http://groups.google.com/group/transfer-dev
http://www.compoundtheory.com/
•
•
•
Email – [email protected]
Blog – www.danvega.org
Twitter - @cfaddict
www.cfunited.com
21
Q&A
www.cfunited.com
22